SpringCloud学习记录 | 第十五篇:SpringCloud Alibaba Nacos配置中心-单机版

重要、重要、重要

官网资料:https://nacos.io/zh-cn/docs/what-is-nacos.html

 

NacosConfigServer端

前面一篇文章意见说了怎么部署一个NacosConfigServer端:https://blog.csdn.net/qq_27062249/article/details/107922138

Data ID

nacos官方文档解释dataId的构成:${prefix}-${spring.profiles.active}.${file-extension},每个字段解释如下

  • prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置
  • spring.profiles.active 即为当前环境对应的 profile,详情可以参考 Spring Boot文档 注意:当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}
  • file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型。

根据上面的解释得到我们服务在Nacos上的dataId为:cloud-alibaba-payment-service-dev.yaml

Group

这里先用系统提供的默认的,默认值为DEFAULT_GROUP

namespace

这里先用系统默认的,默认值为Public

 

NacosConfigClient端

pom依赖

       <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

bootstrap.yml

server:
  port: 10002 #具体的服务端口不一样

spring:
  application:
    name: cloud-alibaba-payment-service #具体的服务名称不一样

  cloud:
    nacos:
      #nacos注册中心地址
      discovery:
        server-addr: localhost:8848
      #nacos注册配置中心地址
      config:
        server-addr: localhost:8848
        #指定配置文件类型
        file-extension: yaml

application.yml

#指定配置文件
spring:
  profiles:
    active: dev

NacosConfigClient端获取配置信息和支持动态刷新(@RefreshScope)

获取config.info

@RestController
@RefreshScope
public class Nacos10002PaymentController {

    @Value("${server.port}")
    private String serverPort;

    @Value("${config.info}")
    private String configInfo;

    @GetMapping("/nacos/payment/{id}")
    public String getPayment(@PathVariable("id") Integer id){
        return "Nacos Client !! servicer.port:"+serverPort+",id:"+id;
    }

    @GetMapping("/nacos/payment/config")
    public String getConfigInfo(){
        return configInfo+","+serverPort;
    }
}

 

 

其他

1.参考代码:https://github.com/TianLuhua/springCloud2020.git

2. Nacos注册中心:需要自己下载、部署

3. 服务调用:cloudalibaba-consumer-order-11001

4. 服务提供:cloudalibaba-provider-payment-10001和cloudalibaba-provider-payment-10002

5. Nacos Open API更新配置信息。例如,将group为DEFAULT_GROUP里面的dataId为example.properties中的configInfo的值修改成v1.1:curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=example.properties&group=DEFAULT_GROUP&content=configInfo=v1.1"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值