如果我有一个用于Eureka服务发现的微服务,并且在docker-compose.yml中有5个副本,那么这5个eureka容器将散布在群集集群中可用的多个群集节点上。
我的问题是,当微服务想要向eureka注册时,
最佳答案
When a microservice registers itself with eureka whichever way, does this registry get replicated across all the eureka containers
从来没有自己测试过,但我认为这会发生。注册管理机构会自行联系并在世界各地共享所有当前已注册的微服务。
who know which eureka node in swarm cluster would service a particular microservice
您的微服务在其
application.properties
中具有唯一的名称,该名称允许其他微服务向其发送HTTP请求,您无法在Java中控制该机制,因此我希望它能够与最合适的人联系。Would it specify the ip address of the master node in the swarm cluster in its config for eureka server ?
我尝试了几次设置主机名,以允许微服务联系eureka
使用基于容器的主机名,但这不起作用。我使用frolvlad/alpine-oraclejdk8作为基本图像+ bash和wait-for-it.sh。我使用
docker-compose
运行所有内容。请记住,这是告诉微服务eureka在哪里的配置服务器。我最终在配置服务器中添加了
bash
脚本,以从application.properties
文件中提取jar
,放入注册表的IP,然后将更新的application.properties
重写为jar
。
关于docker - 在Docker集群中使用Eureka副本进行微服务注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43665011/