eureka dns name 配置
spring cloud 版本 2.0.1.RELEASE
相比于基于ip的配置,需要添加的配置项为:
1. use-dns-for-fetching-service-urls: true
该设置项开启依赖dns查找依赖
2. region: default
根据自己实际环境
3. eurekaServerURLContext: eureka
dns只能拿到ip, 需要拼接服务实例的请求地址
4. eureka-server-port: 10000
dns只能拿到ip, 需要拼接服务实例的请求端口,如和eureka server默认端口不一致,需要在这里配置
5. eureka-server-d-n-s-name: demo.pt.personal.com
该位置配置的值,会和region进行拼接, eureka内部解析时,会拼上前缀txt,故最终需要在域名配置的name是(以当前各项配置为基础): txt.default.demo.pt.personal.com
eureka根据上述dns解析到的,是可用区的地址, 在此基础上,会进行二次解析,如果上述dns直接配置eureka server的ip地址,则会报错,服务不能启动,需要进行下面配置(假设有zone1 zone2两个可用区):
键: txt.default.demo.pt.personal.com 值: default.zone1.demo.pt.personal.com default.zone2.demo.pt.personal.com
键: txt.default.zone1.demo.pt.personal.com 值: 123.123.123.1 123.123.123.3
键: txt.default.zone2.demo.pt.personal.com 值: 123.123.123.2 123.123.123.4
即可完成配置.
txt.default.demo.pt.personal.com 的值并未配置txt前缀的原因是, eureka 解析的时候,会自己拼接上txt. 的前缀.
后续eureka server扩容, 只需要部署新的实例,修改对应键的值即可.