服务注册中心应该是 AP 还是 CP

CAP 模型

CAP 模型是说,在一个分布式系统里面,不可能同时满足三个点
  • 一致性(Consistency),访问分布式系统中的每一个节点都能获得最新的数据。
  • 可用性(Availability),每次请求都能获得一个有效的访问,但不保证数据是最新的。
  • 分区容错性(Partition tolerance),分区相当于对通信耗时的要求,系统如果不能在时限范围内达成数据一致,就意味着发生了分区的情况。
在 CAP 模型中只能满足 CP 或者 AP,之所以不能满足 CA,因为网络通信的不确定性可能会导致分区容错,也就是分区容错性必然是存在的,因此我们只能在一致性和可用性之间做选择。

注册中心

再回到注册中心(如图),服务注册中心的本质是为了提供服务地址的统一管理,以及提供一个服务动态感知的能力。所以,注册中心应该要保证高可用性,也就是无论什么情况下,应用都能正常从注册中心获取到目标服务的通信地址。当注册中心不可用的时候,不能影响服务之间的正常通信。因此,从这个角度来说,注册中心应该是 AP 模型。
另外,对于服务动态感知这个场景来说,从服务地址失效到最终客户端感知到变化,必然会存在延迟。也就是意味着客户端无法实时感知到出现故障的服务端节点。既然一定会出现数据不一致的问题,就更加没必要去搭建一个 CP 模型的注册中心集群了。否则反而会降低请求的性能。

总结

注册中心应该是 AP 模型,原因有两个
  • 注册中心只是一个地址维护的平台,它如果出现故障,也不能影响服务之间的正常通信。
  • 注册中心的地址感知,本身就存在延迟,所以设计一个 CP 模型的架构意义并不大。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值