常⻅的注册中⼼:
zk
、
eureka
、
nacos
那你应该怎么选择
Zookeeper
:
CP
设计,保证了⼀致性,集群搭建的时候,
某个节点失效,则会进⾏选举新的
leader
,或者半数以上 节点不可⽤,则⽆法提供服务,因此可⽤性没法满⾜
Eureka
:
AP
原则,⽆主从节点,⼀个节点挂了,⾃动切换
其他节点可以使⽤,去中⼼化
结论:
分布式系统中
P,
肯定要满⾜,所以只能在
CA
中⼆选⼀
没有最好的选择,最好的选择是根据业务场景来进⾏架构设计
如果要求⼀致性,则选择
zookeeper/Nacos
,如⾦融⾏业 CP 如果要求可⽤性,则Eureka/Nacos
,如电商系统
AP
CP
: 适合⽀付、交易类,
要求数据强⼀致性
,宁可业 务不可⽤,也不能出现脏数据
AP:
互联⽹业务,⽐如信息流架构,
不要求数据强⼀致,更想要服务可⽤