我正在使用微服务和 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/