Eureka 客户端可以在没有显式 URL 的情况下发现服务器吗?

Can Eureka Clients discover the Server without an explicit URL?

在我设置的示例 Spring 引导项目中,我使用 URL 将我的 Eureka 客户端指向我的 Eureka 服务器,如下所示: eureka.serviceUrl.default=http://localhost:8761/eureka/v2/

我很担心如果 Eureka 服务器挂掉会发生什么。

作为补救措施,有没有办法设置 Eureka 服务器的多个实例并配置 Eureka 客户端来发现它们(w/o 依赖绝对 URL)?

Eureka 框架支持多个 Eureka Server 实例。客户端在初始化时选择一个服务器,并向服务器提出请求,直到服务器挂掉。

例如,如果您使用相同的配置在本地端口 8761 和 8762 上启动两个 eureka 服务器:

eureka.serviceUrl.default=http://localhost:8761/eureka/v2/,http://localhost:8762/eureka/v2/

并且您的客户端应用程序也应该具有与 eureka.serviceUrl.default 相同的配置;当应用程序启动时,它会选择 localhost:8761 作为 eureka 服务器并向 localhost:8761 发送注册请求,然后 localhost:8761 将记录并向 localhost:8762 发送相同的注册请求;当 localhost:8761 死亡时,客户端应用程序将切换到 localhost:8762 发送心跳请求。