1.服务发现具备的功能
主要是服务注册和服务发现。
1.1.服务注册
在服务治理框架中,通常会构建一个注册中心,每个服务单元向注册中心登记自己提供的服务,将主机、端口号、版本号、通信协议等一些附加信息告知注册中心,注册中心会按服务名分类组织服务清单。
服务中心还会以心跳的方式去检测清单中的服务是否可用,若不可用需要从服务清单中剔除,大道排除故障服务的效果。
1.2.服务发现
在服务治理框架下,服务间的调用不再是通过制定具体的实例地址来实现(原来的webservice是这样的),而是通过向服务名发起请求调用来实现。所以服务调用方在调用服务提供接口的时候,并不知道具体的服务实例地址。因此调用方需要向服务注册中心咨询服务,并获得所有服务的实例清单,以实现对具体服务的访问。
2.服务发现组件
各种支持服务发现组件特性对比如下表所示:
以上服务发现的软件中,Euerka 和 Consul 使用最为广泛。
据说Eureka 2.X 遇到困难停止开发了,但其实对国内的用户影响甚小,一方面国内大都使用的是 Eureka 1.X 系列。