Nacos配置中心的使用及简单配置

本文介绍了如何使用Nacos配置中心,包括通过页面操作配置和利用API进行配置管理。提到了通过curl命令、实例列表API和发布配置API进行测试,并指出Nacos API的一个小BUG——不支持.yml格式,但可以通过页面转换为YAML格式。同时,讲解了在yml文件中设置配置中心地址的过程,以及在实际应用中配置消费者的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Nacos配置中心

  • nacos的配置中心可以通过Rest风格的API配置也可以通过页面直接操作配置,官网api地址:https://nacos.io/zh-cn/docs/open-api.html#1.1
  • 一般推荐直接通过nacos提供的页面进行配置修改,下面给出的是其他的实现方式
NacosAPI测试-利用linux的curl命令发送了一个post请求
```
 curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=consumer-dev.properties&group=DEFAULT_GROUP&content=redis.host=localhost%0Aredis.port=6379"

```
NacosAPI测试-查询实例列表API

/nacos/v1/ns/instance/list

  1. get请求,直接调用
    http://192.168.154.129:8848/nacos/v1/ns/service/list?pageNo=1&pageSize=1
    
  2. 通过代码RestTemplate实现
    //引导类加入RestTemplateBean注入
    @Bean
    public RestTemplate getRestTemplate(){
        return new RestTemplate();
    }
    
    //创建一个NacosController的controller类
    @RestController
    @RequestMapping("nacos")
    public class NacosController {
    
        @Autowired
        RestTemplate restTemplate;
    
        @GetMapping("serviceList")
        public Map gerServiceList(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize) {
            System.out.println("pageNo = " + pageNo);
            System.out.println("pageSize = " + pageSize);
            String url = "http://192.168.154.129:8848/nacos/v1/ns/service/list?pageNo=" + pageNo + "&pageSize=" + pageSize;
            Map map = restTemplate.getForObject(url, Map.class);
            return map;
        }
    }
    
    //重启服务,访问以下链接:
    http://192.168.154.129:8848/nacos/v1/ns/service/list?pageNo=1&pageSize=1
    
    //这里这里就可以读取到服务器的服务列表信息
    {
        "doms": [
        "user-service"
        ],
        "count": 2
    }
    
    //这里遇到了一个坑,启动引导类时,需要把@LoadBalanced负载均衡关掉,否则会报:java.lang.IllegalStateException: No instances available for 127.0.0.1错误
    
NacosAPI测试-发布配置API

/nacos/v1/cs/configs

  1. apizz直接访问接口
    http://192.168.154.129:8848/nacos/v1/cs/configs
    body内容:
    dataId:userservice-dev.yaml
    group:DEFAULT_GROUP
    content:test:   redis:     host: localhost     port: 6380
    type:YAML
    
  2. nacos目前存在小BUG,不支持yml只支持yaml,发布配置之后去nacos页面的配置管理中将配置格式改为YAML格式,并把内容格式进行修改即可
yml文件设置配置中心地址
  1. 在nacos的配置中心添加一个consumer配置
    Data ID :consumerservice-dev.yaml # 这里的名称格式要和后面的bootstrap.yml的匹配
    
    test:
        redis:     
            host: localhost     
            port: 6380
    
  2. 在conusmer_service中添加一个Redis类,并将此类放入IOC容器
    @Component
    @Data
    @ConfigurationProperties(prefix = "test.redis")//读取配置文件的属性配置
    public class RedisProperties {
        private String host;
        private int port;
    }
    
  3. 在controller层创建一个方法,用来返回结果
    @GetMapping("/hello")
    public RedisProperties disUserById() {
        return redisProperties;
    }
    
  4. 重启consumer_service,浏览器访问这个方法即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值