请问Eureka 和 zookeeper有什么区别?
网友回复
在了解eureka和zookeeper区别之前,我们先来了解一下这个知识,cap理论。
1998年的加州大学的计算机科学家 Eric Brewer 提出,分布式有三个指标。Consistency,Availability,Partition tolerance。简称即为CAP。Eric 提出 CAP 不能全部达到,这就是CAP定理。
C 全称 Consistency,一致性的意思。
一致性就是说,我们读写数据必须是一摸一样的。 比如一条数据,分别存在两个服务器中,server1和server2。 我们此时将数据a通过server1修改为数据b。此时如果我们访问server1访问的应该是b。 当我们访问server2的时候,如果返回的还是未修改的a,那么则不符合一致性,如果返回的是b,则符合数据的一致性。A 全称 Availability,可用性的意思。
这个比较好理解,就是说,只要我对服务器,发送请求,服务器必须对我进行相应,保证服务器一直是可用的。P 全称 Partition tolerance,分区容错的意思。
一般来说,分布式系统是分布在多个位置的。比如我们的一台服务器在北京,一台在上海。可能由于天气等原因的影响。造成了两条服务器直接不能互相通信,数据不能进行同步。这就是分区容错。我们认为,分区容错是不可避免的。也就是说 P 是必然存在的。为什么CAP只能达到 CP 或者 AP?
由以上我们得知,P是必然存在的。
如果我们保证了CP,即一致性与分布容错。当我们通过一个服务器修改数据后,该服务器会向另一个服务器发送请求,将数据进行同步,但此时,该数据应处于锁定状态,不可再次修改,这样,如果此时我们想服务器发送请求,则得不到相应,这样就不能A,高可用。
如果我们保证了AP,那么我们不能对服务器进行锁定,任何时候都要得到相应,那么数据的一致性就不好说了。eureka和zookeeper的cap理论
eureka是基于ap的。zookeeper是基于cp的。Eureka的实现
eureka的架构实现图如下:
eureka的基本原理
上图是来自eureka的官方架构图,这是基于集群配置的eureka;处于不同节点的eureka通过Replicate进行数据同步
Application Service为服务提供者
Application Client为服务消费者Make Remote Call完成一次服务调用
服务启动后向Eureka注册,Eureka Server会将注册信息向其他Eureka Server进行同步,当服务消费者要调用服务提供者,则向服务注册中心获取服务提供者地址,然后会将服务提供者地...点击查看剩余70%
DLNA与UPnP的区别和不同?
苏超自建抢票app,通过先预约再抽签化解高并发抢票?
python如何让给电脑在局域网中伪装成电视接收手机的投屏图片视频播放?
如何结合python+js如何自己的视频编码与加密播放直播?
python如何在电脑上通过局域网将本地视频或m3u8视频投屏电视播放?
腾讯视频爱奇艺优酷vip电影电视剧视频如何通过python绕过vip收费直接观看?
有没有可免费观看全球电视台直播m3u8地址url的合集?
有没有实现观影自由的免vip影视苹果 CMS V10 API的可用url?
python如何实时检测电脑usb插入检测报警?
如何判断真人操作的鼠标移动直线轨迹与机器操作的轨迹?