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
发送心跳请求。
在我设置的示例 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
发送心跳请求。