总结
Eureka | Consul | ZooKeeper | |
---|---|---|---|
CAP | AP | CP | CP |
一致性算法 | / | Raft | ZAB |
服务健康检查 | 需配置 | 服务状态、内存、硬盘 | 长连接,KeepAlive |
K-V 存储 | / | 支持 | 支持 |
自身监控 | Metrics | Metrics | / |
开发语言 | Java | Go | Java |
Consul
Consul 为服务发现、健康检查、K-V存储提供了一套开箱即用的解决方案。
Consul 官网中介绍了 Consul 的以下几个核心功能:
- 服务发现(Service Discovery):提供 HTTP 与DNS 两种方式。
- 健康检查(Health Checking):提供多种健康检查方式,比如 HTTP 状态码、内存使用情况、硬盘等等。
- 键值存储(KV Store):可以作为服务配置中心使用,类似 Spring Cloud Config。
- 加密服务通信(Secure Service Communication)
- 多数据中心(Multi Datacenter):Consul 通过 WAN 的 Gossip 协议,完成跨数据中心的同步。
“In CAP terms, Consul uses a CP architecture, favoring consistency over availability. “
Consul 官网中明确指出 Consul 是 CP 的。