本地服务注册不上nacos_Nacos如何实现服务自动注册

1. 背景

接着上次的说,Nacos问题的分析。这次就来分享一下自己的分析方法。以及如何利用Spring事件完成服务注册。

2. 分析一下

2.1 问题分析过程

问题是这样的,我以为是Nacos服务注册不上吗? 那就肯定是注册有问题了, 那就去找是服务是如何注册的。

关键是从哪找呢?具体步骤:知道服务启动方式。如Nacos,就是通过properties,那就找哪有用到启动的属性文件

项目用SpringBoot集成,那核心类的加载就在Spring.factories中。(这个文件会被springSPI加载到)

找到关键类

很凑巧,我们在spring.factories中找到了名字很像启动注册类的类。如下图:Spring.factories在找类的时候不要怕错,大胆猜,只要验证了自己的想法即可,不对就在接着找。

com.alibaba.cloud.nacos.registry.NacosServiceRegistryAutoConfiguration类我们找到了,接下来就是去看这个类中的代码去验证自己的想法了。

2.2 Nacos是如何利用Spring事件来实现服务注册的?

com.alibaba.cloud.nacos.registry.NacosServiceRegistryAutoConfiguration代码如下:

public class NacosServiceRegistryAutoConfiguration {

// 注册类实现,验证我们的想法,需要用到NacosDiscoverProperties @Bean

public NacosServiceRegistry nacosServiceRegistry(

NacosDiscoveryProperties nacosDiscoveryProperties) {

return new NacosServiceRegistry(nacosDiscoveryProperties);

}

// 构建注册事例,依然要用到NacosDiscoverProperties @Bean

@ConditionalOnBean(AutoServiceRegistrationProperties.class)

public NacosRegistration nacosRegistration(

NacosDiscoveryProperties nacosDiscoveryProperties,

ApplicationContext context) {

return new NacosRegistration(nacosDiscoveryProperties,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值