需求1:保证不同环境服务调用稳定
dev环境存在调用方A,提供方B
test环境存在调用方C,提供方D
(A,C同一个工程,B,D同一个工程)
期望:A->B,C->D,dev环境和test环境下的服务调用不会乱串,必须在eureka上报中指定自己的所属分区
配置application-test.yml(调用方和提供方都必须指定)
eureka:
instance:
metadata-map:
zone: test
application-test.yml指定后,application-dev.yml的配置不需要特别指定,以默认的zone即可(什么都不用写)。
这样,在服务在Eureka中注册成功后,从Eureka中拉取全部注册的Applications信息,当applications中存在多个实例,ribbon会过滤掉zone与当前服务zone不同的服务,只会连接属于同一个zone的服务实例。
需求2:dev环境连接test环境中的服务
dev环境存在调用方A,提供方B
test环境存在调用方C,提供方D
(A,C同一个工程,B,D同一个工程)