Cloud服务注册中心异同点对比Nacos|Eureka|zookeeper|consul

组件名 语言 CAP 服务健康检查 对外暴露接口 Spring Cloud 集成
Eureka Java AP 可配支持 HTTP 已集成
Consul Go CP 支持 HTTP/DNS 已集成
Zookeeper Java CP 支持 客户端 已集成

CAP模型

  • C Consistency 一致性 所有节点访问同一份数据,同一时刻读到的数据完全一样。写操作完成后,任意节点查询都能拿到最新值。

    比如 ZK:主节点写完,同步所有从节点成功才算写成功,客户端读到的一定是最新数据。

  • A Availability 可用性 系统中正常节点收到请求,一定能给出响应(不会超时、不会拒绝服务)。

    只要集群还有活着的节点,就能对外提供服务。

  • P Partition tolerance 分区容错性 网络故障,集群节点之间网络不通(网络分区),系统依然可以继续工作。

三者最多只能同时较好的满足两个。

CAP 理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求, 因此,根据 CAP 原理将 NoSQL 数据库分成了满足 CA 原则、满足 CP 原则和满足 AP 原则三大类:

CA - 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。

CP - 满足一致性,分区容忍必的系统,通常性能不是特别高。

AP - 满足可用性,分区容忍性的系统,通常可能对一致性要求低一些。

Eureka:AP

ZooKeeper、Consul:CP

一、Eureka

Netflix 开源的服务注册与发现组件 ,Spring Cloud Netflix 核心组件,AP 模型 ,适合微服务注册中心;已经停止维护。

防止错误删除服务(主要是因为网络堵塞等问题),Eureka可以保证服务在一段时间以内不进行删除。

二、ZooKeeper

CP模型 安装在服务器端,属于建立的临时节点,收不到服务的心跳一段时间后会自动对服务进行清理。

三、consul

Consul是一套开源的分布式服务发现和配置管理系统,提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以一起使用,总之提供了一种完整的服务网格解决方案。

有很多优点,基于raft协议 支持健康检查,同时支持HTTP DNS协议,支持跨数据中心的集群,支持多平台win、 Linux、Mac等。

四、nacos

相关推荐
Sayai1 天前
Kafka 2.8→3.9.1 跨大版本升级实战:ZooKeeper 同步升级、数据目录迁移与回滚预案全流程
大数据·运维·分布式·zookeeper·kafka
十二同学啊2 天前
Docker 容器化技术详解:镜像、容器、网络与应用部署设计
网络·docker·eureka
江湖有缘2 天前
Docker实战 | 使用Docker部署Readeck书签管理工具
java·docker·eureka
SparklingTheo2 天前
【Zookeeper】源码阅读
分布式·zookeeper·云原生
程序员梅雨3 天前
ZooKeeper面经总结
java·大数据·linux·分布式·后端·zookeeper·中间件
江湖有缘3 天前
Docker实战 | 使用Docker部署Foxel私有云盘服务
docker·容器·eureka
Devlive 开源社区3 天前
GrantForge 2026.1.0 正式发布:开源统一权限管理平台,新增 HDFS、ZooKeeper、MySQL 权限控制与数据脱敏!
hdfs·zookeeper·开源
Brilliantee4043 天前
docker迁移SOP
docker·容器·eureka
2501_933923255 天前
SpringCloud组件:Eureka服务注册与发现
java·开发语言·后端·spring cloud·eureka