尤里卡和领事

Eureka and Consul

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

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

(新手)问题:

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

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/hostname 的逗号分隔集。

如果你想要多区域配置,我推荐你read this blog post

要配置每个 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

application.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

Follow this tutorial