分布式架构之服务注册中心选型

互联网架构下,大部分系统已经转型分布式。其中服务注册发现中心,分布式服务中非常重要的组成部分。按需选择合适的注册中心,也变的尤为重要。

一、Eureka

Eureka是SpringCloud全家桶中非常重要的一个组件,主要是实现服务的注册和发现。Eureka做到了CAP理论中的AP,强调服务的高可用性。实现中分Eureka Server和Eureka Client两部分。

Eureka客户端会向Eureka注册中心注册为服务,并通过心跳来更新它的服务租约。同时也可以从服务端查询当前注册的服务信息并把他们缓存到本地并周期性的刷新服务状态。若服务集群出现分区故障时,Eureka会转入自动保护模式,允许分区故障的节点继续提供服务;若分区故障恢复,集群中其他分区会把他们的状态再次同步回来。

SpringCloud对其做了非常好的集成封装,是官方推荐的注册中心。

二、Zookeeper

Zookeeper是大数据Hadoop中的一个分布式调度组件,强调数据一致性和扩展性,可用于服务的注册和发现。她是dubbo中默认的服务注册中心,也是目前使用最广泛的分布式服务发现组件。注重CAP理论中的CP。

三、Consul

Consul是一个高可用的分布式服务注册中心,由HashiCorp公司推出,Golang实现的开源共享的服务工具。Consul在分布式服务注册与发现方面有自己的特色,解决方案更加“一站式”,不再需要依赖其他工具。

1、通过HTTP接口和DNS协议调用API存储键值对,使服务注册和服务发现更容易;

2、支持健康检查,可以快速的告警在集群中的操作

3、支持key/value存储动态配置

4、支持任意数量的区域

四、ETCD

ETCD是一个高可用的分布式键值数据库,可用于共享配置、服务的注册和发现。ETCD采用Raft一致性算法,基于Go语言实现。ETCD作为后起之秀,又非常大的优势。

1、基于HTTP+JSON的API,使用简单;

2、可选SSL客户认证机制,更安全;

3、单个实例支持每秒千次写操作,快速。

4、采用Raft一致性算法保证分布式。

猜你喜欢

转载自blog.csdn.net/lgxzzz/article/details/121178087