spring-cloud - 了解 Eureka 点对点通信

标签 spring-cloud netflix-eureka

我正在使用微服务和 Netflix oss。我正在使用 Eureka 进行服务注册和发现。我正在尝试不同的选项来了解 Eureka 服务器的行为。我对下面提到的场景仍然有一些疑问。

我有几个微服务:Service-A 和 Service-B。我还有两个 Eureka 服务器实例,即。 Eureka-1(端口:8761)和Eureka-2(端口:8762)。我仅使用 Eureka-1 注册了这两项服务。此外,服务 A 使用 eureka 服务实例名称调用服务 B。

当我运行 Service-A、Service-B、Eureka-1 和 Eureka-2 服务时,我能够按预期命中 Service-A,并在内部命中 Service-B。但是,当我关闭 Eureka-1 实例并点击服务 A 时,它仍然能够使用 eureka 服务实例名称在内部点击服务 B。我的问题是 Eureka-2 实例是否了解在 Eureka-1 实例中注册的服务。如果是,这种通信是如何以及何时在 Eureka 服务器实例之间发生的?请帮助我理解这一点。

最佳答案

Netflix 网站 ( https://github.com/Netflix/eureka/wiki/Understanding-Eureka-Peer-to-Peer-Communication ) 上有一篇很好的文章,解释了 eureka 点对点是如何发生的。 如果你有 eureka-1 和 eureka-2 互相指向对方(即它们在 yml 文件中的 eureka 客户端定义),那么当你注册到 eureka-1 时,eureka-2 将从 eureka-1 获取可用服务列表.
因此,一旦配对,eureka-2 将具有与 eureka-2 相同的列表,并且发现将起作用。 您可能应该将您的 eureka-1 和 2 配置放入您的问题中,以便我们了解更多详细信息

关于spring-cloud - 了解 Eureka 点对点通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36219230/

相关文章:

spring-cloud - 在运行时更改 FeignClient url

spring-boot - Zuul -> Eureka 服务器,基本认证问题

node.js - Eureka与Node-Js客户端注册成功但心跳失败(总是重新注册)

使用 Spring 和 Netflix Stack 的 Java 微服务项目结构

java - Eureka 总是返回端口为 8080 的 url

java - Spring Cloud : Can not get Feign client to work with consul

java - @RefreshScope 可以渴望吗

authentication - Spring Cloud 的 XACML

Spring 启动: Connection timed out when trying to call a service from a service

java - 如何使用 FeignClient 发送字符串