揭秘 Nacos 的 AP 架构 「Distro 一致性协议」(一)

本文深入探讨了Nacos的Distro协议,该协议用于保障AP(分区可用性)一致性,特别是在服务实例注册和集群环境中的数据同步。Distro协议通过异步复制和健康检查机制保证数据弱一致性,同时避免了消息冗余。文章还介绍了Nacos如何在不同场景下使用CP(分区一致性)和AP,并简要概述了Distro的设计思想和六大机制。
摘要由CSDN通过智能技术生成

这次我们要进入 Nacos 的一致性底层原理了,还是先来一张架构图,让大家对 Nacos 的架构有个整体的印象,本篇会主要讲解一致性模块中的 Distro 协议。

5000 字 | 揭秘 Nacos 的 AP 架构 「Distro 一致性协议」(一)-开源基础软件社区

上篇留了两个知识点:

 •  ① 服务实例注册到 Nacos 节点后,通过 UDP 方式推送到所有服务实例。让其他服务实例感知到服务列表的变化。

 •  ② 如何复制数据到其他节点:当前 Nacos 节点开启 1s 的延迟任务,将数据同步给其他 Nacos 节点。(分区一致性)

第 ② 个知识点就是 Nacos 自研的 Distro 一致性协议的核心功能。

首先这个 Distro 协议是针对集群环境的,比如下面这三个集群节点组成了一个集群。服务 A 和服务 B 会往这个集群进行注册。

5000 字 | 揭秘 Nacos 的 AP 架构 「Distro 一致性协议」(一)-开源基础软件社区

Nacos 集群节点

5000 字 | 揭秘 Nacos 的 AP 架构 「Distro 一致性协议」(一)-开源基础软件社区

Nacos 集群环境


我们知道 Nacos 它是支持两种分布式定理的:CP(分区一致性)和 AP(分区可用性) ,而 AP 是通过 Nacos 自研的 Distro 协议来保证的,CP 是通过 Nacos 的 JRaft 协议来保证的。

因为注册中心作为系统中很重要的的一个服务,需要尽最大可能对外提供可用的服务,所以选择 AP 来保证服务的高可用,另外 Nacos 还采取了心跳机制来自动完成服务数据补偿的机制,所以说 Distro 协议是弱一致性的。

如果采用 CP 协议,则需要当前集群可用的节点数过半才能工作。

关于 CP 和 AP 的理论知识,可以参考这篇:用太极拳讲分布式理论 CAP 和 BASE,真舒服!

问题:Nacos 哪些地方用到了 AP 和 CP?


 •  针对临时服务实例,采用 AP 来保证注册中心的可用性,Di

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值