目录
- NaCos服务注册原理
- 1、AbstractAutoServiceRegistration
- 功能和作用
- onApplicationEvent()方法
- start()方法
- 2、NacosAutoServiceRegistration
- 功能和作用
- NacosAutoServiceRegistration.register()方法
- AbstractAutoServiceRegistration.register()方法
- 3、NacosServiceRegistry
- 功能和作用
- register()方法
NaCos服务注册原理
1、AbstractAutoServiceRegistration
AbstractAutoServiceRegistration
是Spring Cloud
框架中的一个关键类,用于实现服务的自动注册功能。它定义在spring-cloud-commons包中,是服务注册流程的模板类。不同的注册中心需要继承该类来控制相应的注册流程,并提供相应的注册实例数据
功能和作用
AbstractAutoServiceRegistration
的主要功能是监听Web服务器初始化完成事件(WebServerInitializedEvent
),并在该事件发生时进行服务的自动注册。当Web服务器初始化完成后,会发布WebServerInitializedEvent事件,触发自动注册过程
可以看到AbstractAutoServiceRegistration
监听了WebServerInitializedEvent
事件,当程序启动,监听回调就会触发AbstractAutoServiceRegistration
的onApplicationEvent()
的代码逻辑,从而开始服务注册
onApplicationEvent()方法
start()方法
2、NacosAutoServiceRegistration
功能和作用
NacosAutoServiceRegistration
是Spring Cloud Alibaba中的一个组件,用于实现Spring Boot应用的自动服务注册功能。当你在Spring Boot应用中集成了Spring Cloud Alibaba的Nacos依赖后,NacosAutoServiceRegistration会在应用启动时自动进行服务注册
由于AbstractAutoServiceRegistration
是服务注册流程的模板类,所以spring cloud提供了实现类NacosAutoServiceRegistration
来定义服务注册逻辑
NacosAutoServiceRegistration.register()方法
AbstractAutoServiceRegistration.register()方法
3、NacosServiceRegistry
功能和作用
NacosServiceRegistry
是Spring Cloud中用于服务注册和发现的组件,它是ServiceRegistry
接口的一个实现类。NacosServiceRegistry
的主要作用是将Spring Cloud应用的服务实例注册到Nacos注册中心,以便服务消费者可以找到并调用这些服务