当前位置: 代码迷 >> 综合 >> 分布式服务-阿里巴巴 nacos注册中心/配置中心
  详细解决方案

分布式服务-阿里巴巴 nacos注册中心/配置中心

热度:72   发布时间:2023-12-05 11:23:34.0

nacos作为注册中心使用

  • 一、注册中心引入依赖
  • 二、项目添加配置application.yml文件例子
  • 三、开启注册发现
  • 四、配置中心
  • 五、配中心细节
    • 第一种情况:命名空间,做环境隔离 (开发、测试、生产)
  • 第二种情况、每个微服务一个命名空间,然后分组区分 (dev、test、prod)
    • 例子:商品配置

一、注册中心引入依赖

//文档地址 https://github.com/alibaba/spring-cloud-alibaba/wiki<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>

二、项目添加配置application.yml文件例子

server:port: 20010spring:application:name: yimall-ordercloud:nacos:discovery:server-addr: 127.0.0.1:8848

三、开启注册发现

@EnableDiscoveryClient
@SpringBootApplication
public class YimallOrderApplication {
    public static void main(String[] args) {
    SpringApplication.run(YimallOrderApplication.class, args);}}

四、配置中心

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
//配置文件 指定配置中心地址
server:port: 20031
spring:application:name: @artifactId@cloud:nacos:discovery:server-addr: 127.0.0.1:8848config:server-addr: 127.0.0.1:8848
//application.properties
shopping.user.name=hemingyang
shopping.user.age=18
@RefreshScope  //开启动态读取配置
@RestController
@RequestMapping("/api")
public class ConfigController {
    @Value("${shopping.user.name}")private String name;@Value("${shopping.user.age}")private Integer age;@RequestMapping("/info")public Ret getInfo() {
    return Ret.success(new HashMap<String, Object>() {
    {
    this.put("name", name);this.put("age", age);}});}}

在这里插入图片描述
在这里插入图片描述

五、配中心细节

第一种情况:命名空间,做环境隔离 (开发、测试、生产)

配置隔离,在配置文件中 指定 名称空间ID

在这里插入图片描述
在这里插入图片描述

第二种情况、每个微服务一个命名空间,然后分组区分 (dev、test、prod)

在这里插入图片描述

例子:商品配置

在这里插入图片描述

在这里插入图片描述

  相关解决方案