概念
当一个大型系统拥有很多服务时,往往需要一个服务注册中心来管理这些服务,它可以提供如下功能:
登记每个服务提供的功能
检测每个服务是否可用,不可用的服务剔除
服务间互相调用时,通过服务注册中心很容易找到目标服务
如下图,商城系统通过服务注册中心管理其中的若干服务:
机制
服务注册中心如何实现呢,其实并不复杂,简述如下:
服务注册中心本身也是一个服务应用,可以对外交互,也可以存储运算
系统中每个服务启动时将自身的功能登记到服务注册中心
服务注册中心定时发送心跳,看看登记的服务是不是可用,不可用的就剔除
因为服务注册中心登记了所有服务及其功能,所以每个服务只需要连接到注册中心,就能调用其他所有服务了
Spring Cloud Eureka 实现服务注册中心
Spring Cloud提供了基于Netflix Eureka的服务注册中心实现,可以轻松的实现服务注册中心应有的功能,Spring Cloud Eureka服务注册中心实现过程如下:
1、构建SpringBoot应用,并引入依赖
org.springframework.cloud
spring-cloud-starter-eureka-server
eurek