什么是服务注册
服务注册是一种目录服务,有利于服务的定义,服务的选择和在执行服务政策
通俗点讲,比如我们(服务)去餐厅(注册中心)吃饭,每个餐桌都有一个编号(服务注册属性)对应我们(服务),这样服务员就可以通过编号找到我们,再进行点餐、结账操
Spring Cloud 怎么实现服务注册
在构建Spring Cloud微服务项目的时候,我们通常会在服务启动类加上@SpringCloudApplication注解并在配置文件中写上spring.cloud.discovery指定服务注册地址来实现服务注册,这服务注册看似很简单嘛(🙂)。那Spring Cloud做了哪些让我们服务注册很简单呢?带着这个疑问我们来一步步揪出罪魁祸首。
首先看SpringCloudApplication注解,在这类中有一个@EnableDiscoveryClient(开启服务发现客户端)注解
1 | /** |
那为啥引用@EnableDiscoveryClient注解就可以实现服务发现呢,我们再来看看EnableDiscoveryClient类中做了些什么
1 | /** |
从EnableDiscoveryClient类中我们可以看到定义了autoRegister方法,默认返回true,并且它还引用了EnableDiscoveryClientImportSelector类,那这个类做了什么值得EnableDiscoveryClient去引用呢