注册中心eureka,consul,zooKeeper,etcd选型

最近一年来一直在关注微服务系列,而它必不可缺少的组件就是注册中心。目前市面上辣么可以作为注册中心组件,那该如何选型?

特性

Consul

zooKeeper

etcd

eureka

编写语言

go

Java

go

java

客户端支持

http,

dns

跨语言弱,Curator组件

http,

Etcd3支持grpc

http,

非java(sidecar)

多数据中心

支持

 

 

 

KV存储

支持

支持

支持

 

健康检查

服务状态、内存、硬盘等

(弱)长连接,keepalive

连接心跳

可配支持

watch支持

全量/支持长轮询

支持

支持长轮询

支持长轮询, Eureka 2.0(正在开发中)也计划支持

自身监控

metrics

 

metrics

metrics

安全

acl /https

acl

https支持(弱)

 

一致性算法

raft

paxos

raft

 

CAP理论

CP

CP(牺牲可用性)

CP(牺牲可用性)

AP(一致性弱)

spring cloud

已支持

已支持

已支持

已支持

结论:总的来看,目前Consul 自身功能,和 spring cloud 对其集成的支持都相对较为完善,而且运维的复杂度较为简单(对docker集成性更好,使用Docker registrator可以基于容器发现及注册,而且对nginx的支持性也较好),Eureka 设计上比较符合场景,但还需持续的完善。

你可能感兴趣的:(#,SOA-DDD)