我试图建立一个使用Spring Cloud Config和Eureka的微服务系统。我希望能够看到其他应用程序中设置的属性'属性文件(特别是Eureka的端口号)。
Spring Cloud Config git存储库中的文件:
bootstrap.yml
eureka:
client:
service-url:
default-zone: http://localhost:9000
尤里卡-server.yml
server:
port: 9000
我希望每个服务都知道Eureka在哪里,这个设置工作正常,但是如果我要更改eureka的端口,那么我将需要更改它的两个或更多位置。有没有办法在另一个配置文件中引用一个值?所以bootstrap.yml在理论上看起来像这样:
eureka:
client:
service-url:
default-zone: http://localhost:${eureka-service.server.port}/
答案 0 :(得分:0)
您的所有应用程序都需要知道eureka或云配置服务器的位置,最简单的方法是在引导程序中设置云配置,然后从云conifg中获取eureka位置。任何应用程序都可以访问那里的属性,因此您可以在云配置中拥有公共属性。其中一个可以是尤里卡的港口,所以只有一个地方定义了eurekas港口。
IMO尤里卡可能有它的日子,亚马逊的应用负载均衡器优于eureka,云形成将取代像spring cloud配置这样的东西,但它们是让人们思考这些东西的好项目。
如果你不在云端,那么sprint cloud仍然是一个很好的解决方案。