spring cloud eureka和HashiCorp consul对比
Eureka VS Consul
- 设计层面:
- Eureka是java编写的,运行在servlet容器中
- Consul则是go编写而成。
- CAP原则(指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可同时获得):
- Eureka保证高可用(A),服务注册速度快,即使节点数据不同步,集群也能正常提供服务,但从服务获取到的数据并不具备实时性
- Consul保证强一致性(C),服务注册相比Eureka会稍慢一些,着重保证节点数据同步,节点间同步数据时集群停止服务
- KV 存储服务:
- eureka不支持
- Consul支持
- 适用场景(根据CAP进行选择):
- 需要一致性(C),则选择Consul,如银行、在线实时交易、金融行业
- 需要可用性(A),则Eureka,如电商平台
- 官方对比