主要区别的话,看CAP选择,大部分注册中心,就是在这个定理去选择的,具体怎么选择,看下文

CAP定理: 指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可同时获得。

一致性(C): 在分布式系统中的所有数据备份,在同一时刻是否同样的值。(所有节点在同一时间的数据完全一致,越多节点,数据同步越耗时)

可用性(A): 负载过大后,集群整体是否还能响应客户端的读写请求。(服务一直可用,而且是正常响应时间)

分区容错性(P): 分区容忍性,就是高可用性,一个节点崩了,并不影响其它的节点(100个节点,挂了几个,不影响服务,越多机器越好)

再进一步解释CAP理论: 就是说在分布式存储系统中,最多只能实现上面的两点。而由于当前的网络硬件肯定会出现延迟丢包等问题,所以分区容忍性是我们必须需要实现的。所以我们只能在一致性和可用性之间进行权衡

C A 满足的情况下,P不能满足的原因:数据同步©需要时间,也要正常的时间内响应(A),那么机器数量就要少,所以P就不满足

CP 满足的情况下,A不能满足的原因:数据同步©需要时间, 机器数量也多§,但是同步数据需要时间,所以不能再正常时间内响应,所以A就不满足

AP 满足的情况下,C不能满足的原因:机器数量也多§,正常的时间内响应(A),那么数据就不能及时同步到其他节点,所以C不满足

使用场景 就是楼主的注册中心选择:Zookeeper和Consul :CP设计,保证了一致性,集群搭建的时候,某个节点失效,则会进行选举行的leader,或者半数以上节点不可用,则无法提供服务,因此可用性没法满足

Eureka:AP原则,无主从节点,一个节点挂了,自动切换其他节点可以使用,去中心化

结论:分布式系统中P,肯定要满足,所以只能在CA中二选一

没有最好的选择,最好的选择是根据业务场景来进行架构设计

如果要求一致性,则选择zookeeper、Consul,如金融行业

如果要去可用性,则Eureka,如电商系统

Eureka、Zookeeper和Consul 的区别相关推荐

  1. SpringCloud-Erueka和Zookeeper以及Consul的区别(Day4)

    ErueKa,Zookeeper,Consul区别 组件名 开发语言 CAP 服务健康检查 对外暴露接口 SpringCloud集成 原生Web界面 Eureka Java AP 可配支持 HTTP ...

  2. 【重难点】【分布式 01】RESTful、RPC 对比、Dubbo、Spring Cloud 对比、Eureka、Zookeeper、Consul、Nacos 对比、分布式锁

    [重难点][分布式 01]RESTful.RPC 对比.Dubbo.Spring Cloud 对比.Eureka.Zookeeper.Consul.Nacos 对比.分布式锁 文章目录 [重难点][分 ...

  3. Zookeeper,etcd,consul内部机制和分布式锁和选主实现的比较

    我的另外3篇文章分别介绍了Zookeeper,etcd,consul是如何实现分布式锁和选主的.本文想比较一下Zookeeper.etcd.consul内部机制有哪些不同,他们实现锁和选主的方式相同和 ...

  4. Redis与Zookeeper实现分布式锁区别

    1.分布式锁解决方案  1.采用数据库 不建议 性能不好 jdbc  2.基于Redis实现分布式锁(setnx)setnx也可以存入key,如果存入key成功返回1,如果存入的key已经存在了,返回 ...

  5. eureka 与 zookeeper 与 consul的特性以及缺点

    谈到分布式,注册中心肯定是我们必不可少的一项,那么注册中心又千奇百怪,怎么为项目选择一个最佳的注册中心呢,那么就简单聊聊三大注册中心的好处以及弊端. 在聊注册中心前,我们得了解一下CAP(C:一致性 ...

  6. Eureka和Zookeeper注册中心的区别

    首先我们先说下: RDBMS==>(MySql,Oracle,SqlServer等关系型数据库)遵循的原则是:ACID原则(A:原子性.C:一致性.I:独立性.D:持久性.). NoSql==& ...

  7. eureka/zookeeper/consul 三个注册中心的异同点

  8. 花5min就能搞清楚redis和zookeeper分布式锁的区别,太有必要读一下了

    今天有个师弟问到了我这个问题,我说网络上文章有很多,自己查一下吧,他说读了好几篇还是不太清楚,于是我就搜了一下,呃-- 最终还是耐心地给他上了一课,他听完以后感激涕零,想到他晚上回到家,倒上二两散装白 ...

  9. ZooKeeper 和 Chubby 的区别?

    Chubby 是 Google 完全实现 Paxos 算法,不开源. ZooKeeper 是 Chubby 的开源实现,使用 Zab 协议,是 Paxos 算法的变种.

最新文章

  1. 什么时候使用Java的@Override注释,为什么?
  2. FFMPEG 日志输出控制
  3. 学长毕业日记 :本科毕业论文写成博士论文的神操作20170328
  4. hashmap储存有向图_java-对后边缘进行运算以获取有向图中的循环数
  5. android linux截图库,Android中截图(surfaceView)源码
  6. RedHat Enterprise AS4安装步骤
  7. 从零学ELK系列(六):Docker安装Logstash(超详细图文教程)
  8. android 添加个人标签,android – 如何在标签标签上添加填充?
  9. Exchange 跨林迁移 Part3 添加域信任关系
  10. PPAPI中使用OpenGL ES绘图
  11. 弹幕有硬伤,转变主流成妄想
  12. 基于token的多平台身份认证架构设计
  13. 解决“双系统删除其中一个,BIOS仍然有其启动项”问题
  14. 南京大学计算机科学专硕培养方案,计算机科学与技术专业硕士研究生培养方案(2014版)...
  15. 小程序源码:装B神器P图修改微信流量主小程序源码下载趣味恶搞图制作
  16. 一点点读懂regulator(二)
  17. 单片机初学者电路常识
  18. lambda表达式——Stream管道流的map操作
  19. trac mysql_无法加载MySQL的Python绑定 – Trac
  20. 如何用python实现输入1~5的数字能够对应打出周一~周五的程序

热门文章

  1. SQL Server导入导出工具弱爆了
  2. UDP和TCP协议包大小的计算
  3. P1016 旅行家的预算
  4. Java关于 class类的基础方法
  5. [LeetCode] Generate Parentheses
  6. 一种求凸多边形内部似最大圆的算法
  7. 第三章:3.2  get 请求
  8. win10 mysql8.0.12 忘记root密码如何重置密码
  9. SpringCloud从入门到进阶(九)——单点部署Zuul的压力测试与调优(二)
  10. New Linux2.6 I2C Driver Model Example