avatar

目录
Nacos动态服务发现、配置管理和服务管理平台

说明

Nacos 提供了一组简单易用的特性集,可以快速实现动态服务发现、服务配置、服务元数据及流量管理。
今天我们就使用Nacos的服务配置功能搭建我们的配置中心。

8WO6hQ.jpg

安装为了方便这里使用docker安装Nacos,避免各种windows的环境问题。

Code
1
2
git clone https://github.com/nacos-group/nacos-docker.git
cd nacos-docker

因为是测试,所以我们起一个单节点就够了,单机模式 Derby

Code
1
docker-compose -f example/standalone-derby.yaml up

浏览器访问它的UI界面:

Code
1
http://127.0.0.1:8848/nacos/

8WjGzd.png

点击最右边的加号,可以添加我们的配置,下面是他常用的配置格式:

  • TEXT
  • JSON
  • XML
  • YAML
  • HTML
  • Properties

我们配置一个JSON和一个Properties来测试一下

8WvFmt.png

8WvPOI.png

接下来就是代码编写,直接建一个Spring boot工程,然后加入Nacos依赖

Code
1
2
3
4
5

com.alibaba.boot
nacos-config-spring-boot-starter
0.2.7

因为使用官方SDK的时候我一直拿到的数据都是null,所以我这里打算直接使用他的open-api直接访问取数据。

application.properties

Code
1
2
3
4
5
6
7
# nacos 配置服务地址
nacos.config.server-addr=127.0.0.1:8848

# 获取配置/发布配置/删除配置
conf.configs=http://127.0.0.1:8848/nacos/v1/cs/configs
# 监听配置
conf.listener=http://127.0.0.1:8848/nacos/v1/cs/configs/listener

NacosConfig

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
@Data
@Configuration
@ConfigurationProperties(prefix = "conf")
public class NacosConfig {
/**
* 获取配置/发布配置/删除配置 URL
*/
private String configs;
/**
* 监听配置 url
*/
private String listener;
}

然后我们就可以来测试了

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@SpringBootTest
class SpringBootNacosConfigApplicationTests {
@Autowired
NaCosUtil naCosUtil;

@Test
void test01() {
String properties = naCosUtil.getNacosConfig("ll.properties", "DEFAULT_GROUP");
String json = naCosUtil.getNacosConfig("OLConsumer", "HWY_GROUP");

System.out.println(properties);
System.out.println("************************************************************************");
System.out.println(json);
}
}

8WzzfU.png

很简单,下面是官方的文档,其余 监听配置发布配置删除配置 没写的接口也在下面:

Code
1
https://nacos.io/zh-cn/

源码地址:https://github.com/HWYWL/spring-boot-2.x-examples/tree/master/spring-boot-nacos-config

文章作者: 一叶秋枫
文章链接: https://hwy.ac.cn/2020/03/21/Nacos%E5%8A%A8%E6%80%81%E6%9C%8D%E5%8A%A1%E5%8F%91%E7%8E%B0%E3%80%81%E9%85%8D%E7%BD%AE%E7%AE%A1%E7%90%86%E5%92%8C%E6%9C%8D%E5%8A%A1%E7%AE%A1%E7%90%86%E5%B9%B3%E5%8F%B0/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 一叶秋枫
打赏
  • 微信
    微信
  • 支付寶
    支付寶

评论