bootstrap.yml
eureka: client: serviceUrl: register-with-eureka: true fetch-registry: true defaultZone: :123456@localhost:3000/eureka/ instance: preferIpAddress: true spring: profiles: active: dev --- spring: profiles: prod application: name: config-eureka-client cloud: config: label: master profile: prod discovery: enabled: true service-id: config-eureka-server --- spring: profiles: dev application: name: config-eureka-client cloud: config: label: master #指定仓库分支 profile: dev #指定版本 本例中建立了dev 和 prod两个版本 discovery: enabled: true # 开启 service-id: config-eureka-server # 指定配置中心服务端的server-id除了注册到 Eureka 的配置外,就是配置和配置中心服务端建立关系。
其中 service-id 也就是服务端的application name。
application.yml
server: port: 3011 management: endpoint: shutdown: enabled: false endpoints: web: exposure: include: "*" data: env: NaN user: username: NaN password: NaN3、启动类,增加了 @EnableEurekaClient 注解,可以用 @EnableDiscoveryClient 代替
@SpringBootApplication @EnableEurekaClient public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }4、另外的配置实体类和 RESTController 和上面的一样,没有任何更改,直接参考即可。
5、启动 client 端,访问 :3011/autoShow,即可看到配置文件内容。
这个例子只是介绍了和 Eureka 结合的最基础的情况,还可以注册到高可用的 Eureka 注册中心,另外,配置中心服务端还可以注册多个实例,同时保证注册中心的高可用。
注意事项1. 在 git 上的配置文件的名字要和 config 的 client 端的 application name 对应;
2. 在结合 eureka 的场景中,关于 eureka 和 git config 相关的配置要放在 bootstrap.yml 中,否则会请求默认的 config server 配置,这是因为当你加了配置中心,服务就要先去配置中心获取配置,而这个时候,application.yml 配置文件还没有开始加载,而 bootstrap.yml 是最先加载的。
如果你觉得写的还可以的话,请点个「推荐」吧
欢迎关注,不定期更新本系列和其他文章
古时的风筝 ,进入公众号可以加入交流群