持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第8天,点击查看活动详情
很多时候,我们再使用SpringCloud的微服务体系的时候,注册和配置中心
,大多数的人,一般都是会选择nacos
!!!
因为nacos
,集成了配置中心和注册中心的功能。
不然按照以前的做法,一般是用eureka
(注册中心)+SpringCloud Config
(配置中心)+Spring Cloud Bus
(配置动态刷新)!!!
这样,咱们的学习成本,就会很高了!
那nacos
官方,就很聪明了,我给你整一起了,用我吧,学一个框架,就行了!!!
哥们反手给你个么么哒!!!T_T
1. nacos的高级用法
- 配置中心
@Component
@RefreshScope //自动刷新配置
public class Test{
@Value(value="${demo.text}")
private String demoText;
}
复制代码
这样,我们就可以获取到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
,还是有很多高阶的用法的,这里就先分享这些先,下次有机会再分享了。
好了,今天就先到这里了,溜了溜了溜了!!!^_^
觉得有收获的,帮忙点赞、评论、收藏
一下呗!!!