Eureka|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: 3306user-db: <<: *test-db-config

    经过Spring解析之后:
    test-db: host: 127.0.0.1 port: 3306user-db: host: 127.0.0.1 port: 3306

    说明:&后面的锚点名字,可自己定义,不必与配置量的键相同。
  2. 【Eureka|Eureka 多环境隔离方案(包含本地开发人员间隔离)】动态生成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

    推荐阅读