nacos架构和原理(九)——配置管理之配置⼀致性模型

nacos架构和原理(九)——配置管理之配置⼀致性模型

  • Server 间的⼀致性协议
    • 有 DB 模式(读写分离架构)
    • 无 DB 模式
  • SDK 与 Server 的⼀致性协议
    • Nacos 1.X
    • Nacos 2.X


Nacos 配置管理⼀致性协议分为两个大部分,第⼀部分是 Server 间⼀致性协议,⼀个是 SDK 与 Server 的⼀致性协议,配置作为分布式系统中非强⼀致数据,在出现脑裂的时候可用性高于⼀致性, 因此阿里配置中心是采用 AP ⼀致性协议。

Server 间的⼀致性协议

有 DB 模式(读写分离架构)

⼀致性的核心是 Server 与 DB 保持数据⼀致性,从而保证 Server 数据⼀致;Server 之间都是对 等的。数据写任何⼀个 Server,优先持久化,持久化成功后异步通知其他节点到数据库中拉取最新 配置值,并且通知写入成功。

nacos架构和原理(九)——配置管理之配置⼀致性模型_第1张图片

无 DB 模式

Server 间采用 Raft 协议保证数据⼀致性,行业大部分产品采用此模式,因此不展开介绍。Nacos 提供此模式,是方便用户本机运行,降低对存储依赖。

SDK 与 Server 的⼀致性协议

SDK 与 Server ⼀致性协议的核心是通过 MD5 值是否⼀致,如果不⼀致就拉取最新值。

Nacos 1.X

Nacos 1.X 采用 Http 1.1 短链接模拟长链接,每 30s 发⼀个心跳跟 Server 对比 SDK 配置 MD 5 值是否跟 Server 保持⼀致,如果⼀致就 hold 住链接,如果有不⼀致配置,就把不⼀致的配置 返回,然后 SDK 获取最新配置值。

nacos架构和原理(九)——配置管理之配置⼀致性模型_第2张图片

Nacos 2.X

Nacos 2.x 相比上面 30s ⼀次的长轮训,升级成长链接模式,配置变更,启动建立长链接,配置变 更服务端推送变更配置列表,然后 SDK 拉取配置更新,因此通信效率大幅提升。

你可能感兴趣的:(架构,数据库,java)