服务治理是微服务架构中最核心最基本的模块。用于实现各个微服务实例的自动化注册与发现。
服务注册:
在服务治理框架中,都会构建一个注册中心,每个服务单元向注册中心登记自己提供的服务,将主机和端口号、版本号、通信协议等一些附加信息告知注册中心,注册中心按服务名分类组织服务清单。服务注册中心还需要以心跳的方式去监测清单中的服务是否可用,若不可用,需从服务清单中剔除,达到清楚障碍的目的。
服务发现:
服务的调用通过向服务名发起请求调用实现。调用方向服务注册中心咨询服务,并获取所有服务的实例清单,实现对具体服务实例的访问。
Spring Cloud Eureka是对Netflix公司的Eureka的二次封装,它实现了服务治理的功能,Spring Cloud Eureka提供服务端与客户端,服务端即是服务注册中心,客户端完成服务的注册与发现。服务端和客户端均采用Java语言编写(Eureka支持多语言)。如下图展示了Eureka Server与Eureka Client的关系:
服务治理的架构图:
总结:服务治理一共就两块,即服务注册和服务发现