Eureka 多环境隔离方案(包含本地开发人员间隔离)

一、多环境场景

  1. 地理分布广泛,多机房,分布式注册中心实现;
  2. 开发过程中,项目一般分为 local,dev,test,uat,prod等环境;
  3. 开发人员在调试本地代码时,每个开发人员调用本地服务,相互独立,不影响各方;
  4. 开发人员调试微服务模块时,只需要启动需要调试的模块和网关即可,其他模块和接口自动调用预设环境中接口。

二、技术点

2.1 YAML文件(.yml)中的键(key)通过变量引用来设置

  1. 引用整块YAML配置

    替换键,则需要用到锚点。锚点用符号“&”定义,并用符号“*”进行引用。
    锚点有两种使用方式,一是通过“<<:”将键值对一起引入:
    test-db: &test-db-config
      host: 127.0.0.1
      port: 3306
    
    user-db:
      <<: *test-db-config
    经过Spring解析之后:
    test-db:
      host: 127.0.0.1
      port: 3306
    
    user-db:
      host: 127.0.0.1
      port: 3306

    说明:&后面的锚点名字,可自己定义,不必与配置量的键相同。

  2. 动态生成Map中的Key,仅引入配置的值

    原始配置
    eureka:
      user: &euser ${user.name}
      client:
     service-url:
       devZone: http://***/eureka/
       *euser: http://***/eureka/
    经过spring解析之后
    eureka:
      user: liudehua
      client:
     service-url:
       devZone: http://***/eureka/
       liudehua: http://***/eureka/

2.2 Eureka的region和zone

你可能感兴趣的:(Eureka 多环境隔离方案(包含本地开发人员间隔离))