目录
nacos的高可用是如何做的?
1、全局高可用
Nacos 部署架构上是单 Region 封闭,Region 间独立,跨 Region 通过网关或者 Nacos-sync 完 成服务互通。从而降低 Region 间网络故障风险。
2、同城容灾
Nacos 本身是采用 AP 的⼀致性模式,同 Region 多个可用区部署,任何⼀个可用区出问题,剩下 部分继续工作。
3、数据多级容灾
Nacos 持久化存储做了主备容灾,而且底层存储数据多副本高可用保障。
Nacos Server 有全量缓存数据,即使存储挂或者不可用,只影响写,核心的读服务不受影响。
Nacos SDK 有所需服务和配置缓存,Server 即使全挂,走本地缓存,保证核心业务调用不受影响。
nacos的一致性是如何保证的?
注册中心
数据⼀致性: 支持AP和CP两种一致性协议
⼀个是基于简化的 Raft 的 CP ⼀致性;
⼀个是基于自研协议 Distro 的 AP ⼀致性;
配置管理
SDK与server端的一致性
核心是通过MD5值的比较来实现的,如果不一样就更新
Nacos 1.X: 采用 Http 1.1 短链接模拟长链接,每 30s 发⼀个心跳跟 Server 对比 SDK
配置 MD 5 值是否跟 Server 保持⼀致,如果⼀致就 hold 住链接,如果有不⼀致配置,
就把不⼀致的配置 返回,然后 SDK 获取最新配置值。
Nacos 2.x :相比上面 30s ⼀次的长轮训,升级成长链接模式,配置变更,启动建立长
链接,配置变 更服务端推送变更配置列表,然后 SDK 拉取配置更新,因此通信效率大
幅提升。