spring cloud(第三部)注册中心的选择

CP与AP的概念

  • 什么是CAP
    CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得

zookeeper与eureka

  • 特性比较
    f244d5e0cbf1fe4dabd4fe1048df3e730b9.jpg

  • 应用场景分析
    1、从功能上看,eureka的定位是作为一个注册中心存在,而对于zookeeper,服务注册只是它的一个基础功能
    2、eureka和zookeeper一样,都可以组成高可用的集群,eureka的各个节点属于平等地位,而zookeeper集群的各节点具有主从的区别,不同的角色承担不同任务
    3、zookeeper通过zab协议实现了paxos算法,具有数据的强一致性,因为这些特性,所以它具有分布式锁和分布式队列的支持,zookeeper特有的watcher注册监听机制,所以也使它具备了服务协调的应用场景

注册中心的选择

  • zookeeper适合微服务的场景吗
    它实现了强一致性,原理参考:https://zhuanlan.zhihu.com/p/25594630   当leader发生宕机以后,需要重新选举出一个新的leader出来,重要的是需要保证节点的数据一致性,需要经过一些列的流程如:投票初始化、广播、数据比较、数据同步等,比较耗时,在这期间不能对外提供服务,对于微服务来说,出现暂时的注册中心不可用

  • 微服务的场景下eureka更合适
    eureka的各级节点不存在主从概念,完全对等,当某些节点宕机后,仍然可以从可用的eureka server获取服务列表、注册新的服务,只是不能保证各server的服务列表是最新的(不保证强一致)

  • zookeeper的强一致性适用在哪里
    zookeeper在hadoop等大数据生态下是风生水起,是由watcher机制、持久化、一致性等的原因决定的,不是作为一个孤立的注册中心存在的。
    举例:在hbase中有一个关于RootRegion的管理,它就是存在zookeeper中的,有什么用途呢?就是我们的client查询一个数据的时候,先需要查询RootRegion,从其内找到数据存储位置,假如不能保证强一致性,会导致什么严重后果?有可能会导致读取元数据的时候取不到资源位置,直接找不到我们需要的数据,这对于一个存储系统来说是简直不能接受的。

  • 关于注册的总结
    dubbo注册的是细粒度的服务(ip+port+service)
    spring cloud的注册服务,指的是粗粒度的服务(ip+port),因为它暴露的是http层面的,提供了http接口即意味着暴露

转载于:https://my.oschina.net/13426421702/blog/3060404

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值