一、多环境场景

  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. 动静生成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