ZooKeeper、Nacos、etcd 和 Eureka 等常用注册中心采用的协议理解吗?

1 个回答

  • 小青
    在自己的世界独善其身在别人的世界顺其自然。
    ZooKeeper、Nacos、etcd 和 Eureka 等常用注册中心采用的协议分别为: - **ZooKeeper**: 使用 **ZAB协议**(ZooKeeper Atomic Broadcast),基于 Paxos 改进而来,保证分布式数据的一致性。 - **etcd**: 使用 **Raft协议**,一种易于理解和实现的共识算法,通过 Leader 选举、日志复制、心跳检测确保强一致性。 - **Nacos**: - 单机模式:本地存储,无协议。 - 集群模式(CP模式):使用 **Raft协议** 保证数据强一致性。 - 集群模式(AP模式):自研的 Distro协议,保证可用性,但数据为最终一致性。 - **Eureka**: 使用自研的基于 **Gossip协议**(最终一致性),弱一致性,更倾向于高可用而非强一致性。 ### 小结: | 注册中心 | 协议 | 一致性类型 | | ------------ | ---------------------------- | ----------- | | ZooKeeper | ZAB(类Paxos) | 强一致性 | | etcd | Raft | 强一致性 | | Nacos | Raft(CP模式)、Distro(AP模式)| CP强一致/AP最终一致 | | Eureka | Gossip(自研) | 最终一致性 | ZooKeeper 和 etcd 偏重强一致性场景,常用于配置、分布式锁等场景; Eureka 更关注高可用,通常用作服务发现; Nacos 则兼顾强一致与最终一致性,适用场景更灵活。
    发布于 2025-03-18 16:29 •IP属地 宁夏
    举报
    评论
    收藏