原文地址:https://microservices.io/patterns/self-registration.html
假设你采用了客户端服务发现或者服务端服务发现,服务启动时需要向注册中心注册实例,在关闭时向注册中心注销,以便其他服务感知。
服务实例如何向注册中心注册或注销?
服务实例负责在注册中心注册自己。在启动时,服务实例向服务注册中心注册自己(主机和IP地址),使自己可以被发现。客户端通常必须定期发送心跳,以便注册中心知道它仍在运行。在关闭时,服务实例从注册中心注销自己。
一般微服务基础框架都会有这个机制。
我们用 Scala 编写一个例子,使用 SpringBoot 和 SpringCloud 作为微服务框架,以 Netflix Eureka服务注册中心。在@Configuration
Spring 框架配置类上使用@EnableEurekaClient
这个注解,将会让实例在启动后注册到 Eureka 上面
@Configuration
@EnableEurekaClient
class EurekaClientConfiguration {
自注册这个设计模式的好处有: