docker - 在Docker集群中使用Eureka副本进行微服务注册

标签 docker microservices netflix-eureka

如果我有一个用于Eureka服务发现的微服务,并且在docker-compose.yml中有5个副本,那么这5个eureka容器将散布在群集集群中可用的多个群集节点上。

我的问题是,当微服务想要向eureka注册时,

  • 是否可以在其eureka服务器配置中指定swarm集群中主节点的ip地址?
  • 当微服务以任何一种方式向eureka注册时,该注册表是否会在群集集群中的所有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/

    相关文章:

    heroku - 如何在 Heroku 上部署微服务

    spring-boot - 将 eureka 与 kubernetes 问题集成

    docker - 运行 Gitlab Docker

    go - "package main"在 main.go 文件夹中标记为红色的错误

    docker - 使用 CloudFormation 运行 Ec2 中存在的 docker-compose

    kubernetes - 如何在OpenShift上为我的应用程序选择名称

    node.js - 如何在两个docker服务之间实现负载均衡?

    netflix-eureka - 在 Eureka 中设置接受区域列表

    docker - 为特定上下文构建 Heroku docker 镜像

    angular - 启动容器导致错误