Springboot微服务之zookeeper注册中心

zookeeper一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。

补充上次的redis注册中心没有说到的地方

布鲁尔定理,也就是CAP这套理论指出对于一个分布式计算系统来说,不可能同时满足以下三点:

  • 一致性(Consistency:在分布式环境中,一致性是指数据在多个副本之间是否能够保持一致的特性,等同于所有节点访问同一份最新的数据副本。在一致性的需求下,当一个系统在数据一致的状态下执行更新操作后,应该保证系统的数据仍然处于一致的状态。
  • 可用性(Availability):每次请求都能获取到正确的响应,但是不保证获取的数据为最新数据。

  • 分区容错性(Partition tolerance):分布式系统在遇到任何网络分区故障的时候,仍然需要能够保证对外提供满足一致性和可用性的服务,除非是整个网络环境都发生了故障。

 CAP也就是这三分特性的英文名称合并的缩写

在这三个基本需求中,最多只能同时满足其中的两项,P 是必须的,因此只能在 CP 和 AP 中选择

zookeeper  CAP原则

       从读写方面分析,完成一次读写不用阻塞等待全部follwer同步完成,保证不了数据的一致性,所以是ap。

        服务方面,zk在leader选举期间,因为zk依赖leader来保证数据一致性,会暂停对外提供服务,所以丢失了可用性,保证了一致性,那么是不是也可以说成是ap?

        所以综合分析  从读写到服务综合起来看,是不是就是说zk保证的是最终的一致性,数据最终会达到一致,只不过要经过时间达到

别着急 看看redis 

   redis CAP原

  Redis的主从同步是异步进行的,所以在网络发生故障时,redis无法保证强一致性,即不满

 子网络故障期间,redis对外依旧可用,满足A

Redis满足最终一致性子网络故障恢复后,从节点会使用多种策略追赶主节点,并达到最终一致

    那是不是也可以说redis是CP

  这个大家一起纠结一下

 好了来看看zookeeper作为注册中心的实战

  

这个是demo 我拿之前redis注册中心的demo改了改 

 Dubbo管理平台的搭建_斗码士的博客-CSDN博客

 

可以看到服务已经注册到了zookeeper

 打完收工了哈

demo Springboot+dubbo+zookeeper+swagger+mybatisplus+mysql-Java文档类资源-CSDN下载

          Springboot+Dubbo+mybatisplus+redis+swagger+mysql实现的-Java文档类资源-CSDN下载

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

斗码士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值