微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

nutzboot 使用nacos替换zookeeper

先放一段从网上拷贝一段分布式CAP理论的概念

分布式领域中存在CAP理论,且该理论已被证明:任何分布式系统只可同时满足两点,无法三者兼顾。

  ①C:Consistency,一致性,数据一致更新,所有数据变动都是同步的。

  ②A:Availability,可用性,系统具有好的响应性能。

  ③P:Partition tolerance,分区容错性。

因此,将精力浪费在思考如何设计能满足三者的完美系统上是愚钝的,应该根据应用场景进行适当取舍。

(1)一致性

  一致性是指从系统外部读取系统内部的数据时,在一定约束条件下相同,即数据变动在系统内部各节点应该是同步的。根据一致性的强弱程度不同,可以将一致性级别分为如下几种:

  ①强一致性(strong consistency)。任何时刻,任何用户都能读取到最近一次成功更新的数据。

  ②单调一致性(monotonic consistency)。任何时刻,任何用户一旦读到某个数据在某次更新后的值,那么就不会再读到比这个值更旧的值。也就是说,可  获取的数据顺序必是单调递增的。

  ③会话一致性(session consistency)。任何用户在某次会话中,一旦读到某个数据在某次更新后的值,那么在本次会话中就不会再读到比这值更旧的值   会话一致性是在单调一致性的基础上进一步放松约束,只保证单个用户单个会话内的单调性,在不同用户或同一用户不同会话间则没有保障。示例case:PHP的  session概念。

  ④ 最终一致性(eventual consistency)。用户只能读到某次更新后的值,但系统保证数据将最终达到完全一致的状态,只是所需时间不能保障。

  ⑥弱一致性(weak consistency)。用户无法在确定时间内读到最新更新的值。

zookeeper 按照cp原则构建    nacos  按照ap原则构建 

nutzboot 从zookeeper切换到nacos很容易 注册中心该一下基本就行了(首先要安装好nacos)

dubbo.application.qos.enable=false
#dubbo.application.qos.port=22222
#dubbo.application.qos.accept.foreign.ip=false

#注册中心
#dubbo.registry.address=zookeeper://ip1:2181?backup=ip2:2181,ip3:2181
dubbo.registry.address=nacos://ip1:8848?backup=ip2:8848,ip3:8848
 #端口 0为自动端口 
dubbo.protocol.port=0 
dubbo.annotation.package=com.jxzg
dubbo.consumer.timeout=300000 
dubbo.consumer.retries=0

使用 nacos 需要引入的jar

<dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>dubbo-registry-nacos</artifactId>
        <version>0.0.2</version>
</dependency>
<dependency>
        <groupId>com.alibaba.nacos</groupId>
        <artifactId>nacos-client</artifactId>
        <version>0.8.0</version>
</dependency>

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐