nacos的一些api和监听器用法

很多时候,我们再使用SpringCloud的微服务体系的时候,注册和配置中心,大多数的人,一般都是会选择nacos!!!

因为nacos,集成了配置中心和注册中心的功能。

不然按照以前的做法,一般是用eureka(注册中心)+SpringCloud Config(配置中心)+Spring Cloud Bus(配置动态刷新)!!!

这样,咱们的学习成本,就会很高了!

nacos官方,就很聪明了,我给你整一起了,用我吧,学一个框架,就行了!!!

哥们反手给你个么么哒!!!T_T

nacos的一些api和监听器用法_第1张图片

1. nacos的高级用法

  • 配置中心
@Component
@RefreshScope  //自动刷新配置
public class Test{
    @Value(value="${demo.text}")
    private String demoText;
}

nacos的一些api和监听器用法_第2张图片

这样,我们就可以获取到nacos的配置,并动态刷新配置

  • 一些高级用法

一般我们都是通过nacos提供的可视化界面,去新增修改配置文件。

一般情况下,nacos的可视化界面,在正式环境下,一般是不允许暴露出去的。

不然,就会存在重大漏洞!!!_

所以这里,我们可以通过nacos提供的api的方式进行操作nacos的配置:

例如下面:

@Autowired
private ConfigService configService;
​
//发布配置
configService.publishConfig("配置名称dataId", "配置分组group", "#配置内容");
​
//删除配置
configService.removeConfig("配置名称dataId", "配置分组group")
​
//获取配置
String content = configService.getConfig("配置名称dataId", "配置分组group", 0)

 

  • 监听机制

nacos还提供了一些监听机制,我们可以通过监听到某个配置的变化,然后去处理我们的业务逻辑:

例如下面:

@Autowired
private ConfigService configService;
​
//添加监听器,监听配置名称dataId,配置的变化
configService.addListener("配置名称dataId", "配置分组group", new Listener() {
    @Override
    public Executor getExecutor() {
        return null;
    }
​
    @Override
    public void receiveConfigInfo(String config) {
        try {
            //这里的config为最新的配置
            
            //处理我们的业务逻辑
            ....
            
            log.debug("nacos properties reload");
        } catch (Exception ex) {
            log.error("receiveConfigInfo", ex);
        }
    }
});
复制代码
  • 注册中心
@Autowired
private DiscoveryClient discoveryClient;
​
//获取注册nacos上面的所有微服务名称
List list = discoveryClient.getServices();
​
​
//获取注册nacos上面的所有微服务实例
List list = discoveryClient.getInstances();
复制代码

当然啦,nacos,还是有很多高阶的用法的,这里就先分享这些先,下次有机会再分享了。

好了,今天就先到这里了,溜了溜了溜了!!!^_^

觉得有收获的,帮忙点赞、评论、收藏一下呗!!!

nacos的一些api和监听器用法_第3张图片

 

你可能感兴趣的:(后端,spring,cloud,eureka,java,spring,boot,分布式)