5

我正在实施服务发现并评估两个选项:Eureka 和 Consul。

帮我做决定!我倾向于 Eureka,但我需要解决一个主要的技术问题。我的基础架构基于 openshift。我可以让多个容器在负载均衡器后面运行 Eureka 服务器。据我所知,每台服务器都需要相互通信。此外,Eureka 主要与 AWS 一起使用...

(新手)问题:

1)如何配置每个 Eureka Server 以相互通信?我有一个(负载平衡的)URL。我担心每个服务器可能会变得不同步。

2)我错过了什么吗?

4

2 回答 2

2

没错,每个 Eureka Server 都必须相互通信。您还可以根据自己的方法玩区域。

要使其工作(无区域),您必须配置该属性:

eureka.client.service-url.defaultZone: http://1st-eureka-server-ip-or-hostname:port/eureka/,http://2nd-eureka-server-hostname:porta/eureka/

上面的配置接受所有 Eureka 服务器的一组以逗号分隔的 IP/主机名。

如果您想进行多区域配置,我建议您阅读这篇博文

于 2019-10-12T07:43:14.930 回答
1

要将每个 Eureka 服务器配置为相互通信,请尝试以这种方式在文件夹中的资源中创建一个不同的不同区域。

应用程序-zone1.yml

server.port: 8001
eureka:
  instance:
    hostname: localhost
    metadataMap.zone: zone1

应用-zone2.yml

 server.port: 8002
eureka:
  instance:
    hostname: 127.0.0.1
    metadataMap.zone: zone2

应用程序.yml

  client:
    register-with-eureka: false
    fetch-registry: false
    region: region-1
    service-url:
      zone1: http://localhost:8001/eureka/
      zone2: http://127.0.0.1:800/eureka/
    availability-zones:
      region-1: zone1,zone2
spring.profiles.active: zone1

按照本教程

于 2019-10-16T07:24:19.613 回答