nacos配置中心

1.介绍

官方介绍

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

个人理解

nocos将每一个微服务联系起来,比如有多个订单服务和多个库存服务,当用户下订单时,订单服务就需要与库存服务建立联系,但是现在存在多个库存服务,应该如何建立联系?我们可以让多个库存服务在nacos中注册id,就相当于在nacos配置中心起了一个别名,当订单服务也需要在nacos中注册,这样当订单需求进来时,只需要在配置中心查找库存服务的id,这样就可以找到当前的库存服务。

2.nacos配置中心

当有多个微服务需要修改配置文件时,我们不可能修改每一个微服务的配置文件,这个时候我们可以使用nacos配置中心做统一管理,一次修改多次配置文件

3.使用

1.引入依赖

  
  com.alibaba.cloud
 spring-cloud-starter-alibaba-nacos-config

2.创建一个bootstrap.properties。

       spring.application.name=gulimall-coupon
       spring.cloud.nacos.config.server-addr=127.0.0.1:8848

3.添加数据集gulimall-coupon.properties。默认规则,应用名.properties

截屏2021-06-26 下午5.17.21.png

截屏2021-06-26 下午5.17.35.png

4.我们在controller类里面创建一个test方法

@RefreshScope
@RestController
@RequestMapping("coupon/coupon")
public class CouponController {
    @Autowired
    private CouponService couponService;


    @Value("${coupon.user.name}")
    private String name;
    @Value("${coupon.user.age}")
    private Integer age;

    @RequestMapping("/test")
    public R test(){

        return R.ok().put("name",name).put("age",age);
    }

application.properties里面的属性为:

coupon.user.name=zhangsan2
coupon.user.age=20

可以看到页面显示为


截屏2021-06-26 下午5.22.00.png

结论:如果配置中心和当前应用的配置文件中都配置了相同的项,优先使用配置中心的配置。记得@RefreshScope注解:动态获取并刷新配置

4.现在我们操作把数据源,mybaties等配置文件在配置中心进行配置。

1.首先编写application.yml里面的配置信息

spring:
 datasource:
   username: root
   password: 123456
   url: jdbc:mysql://localhost:3306/gulimall_sms
   driver-class-name: com.mysql.jdbc.Driver
 cloud:
   nacos:
     discovery:
       server-addr: 127.0.0.1:8848
 application:
   name: gulimall-coupon


mybatis-plus:
 mapper-locations: classpath:/mapper/**/*.xml
 global-config:
   db-config:
     id-type: auto
server:
 port: 7000

2.创建一个分组,当前分组只用来编写当前服务的配置信息

截屏2021-06-26 下午5.34.58.png

3.在当前分组中创建多个yml文件,每一个文件匹配对应的配置信息

截屏2021-06-26 下午5.35.08.png

截屏2021-06-26 下午5.35.17.png
截屏2021-06-26 下午5.35.27.png

截屏2021-06-26 下午5.35.36.png

4.编写bootstrap.properties文件

spring.application.name=gulimall-coupon

spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.namespace=f96301a6-6f17-4375-9db5-5782d61defa5
#spring.cloud.nacos.config.group=prod

spring.cloud.nacos.config.ext-config[0].data-id=datasource.yml
spring.cloud.nacos.config.ext-config[0].group=dev
spring.cloud.nacos.config.ext-config[0].refresh=true

spring.cloud.nacos.config.ext-config[1].data-id=mybatis.yml
spring.cloud.nacos.config.ext-config[1].group=dev
spring.cloud.nacos.config.ext-config[1].refresh=true

spring.cloud.nacos.config.ext-config[2].data-id=other.yml
spring.cloud.nacos.config.ext-config[2].group=dev
spring.cloud.nacos.config.ext-config[2].refresh=true

namespace对应当前分组创建时所生成的ID名

截屏2021-06-26 下午5.34.58.png

在代码中把相关的配置文件代码注释,然后开启nacos服务,如果运行不报错则表示配置成功
此代码来自于尚硅谷中的实战项目。

你可能感兴趣的:(nacos配置中心)