likes
comments
collection
share

nacos的一些api和监听器用法

作者站长头像
站长
· 阅读数 20

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

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

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

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

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

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

nacos的一些api和监听器用法

1. nacos的高级用法

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

nacos的一些api和监听器用法

这样,我们就可以获取到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<String> list = discoveryClient.getServices();


//获取注册nacos上面的所有微服务实例
List<ServiceInstance> list = discoveryClient.getInstances();

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

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

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

nacos的一些api和监听器用法

转载自:https://juejin.cn/post/7104246706207719455
评论
请登录