在 Spring Cloud 中,可以通过以下方式配置 Eureka 实现高可用性:
一、搭建多个 Eureka Server
1. 配置多个 Eureka Server 实例:
- 假设要搭建两个 Eureka Server 实例,分别命名为 eureka-server-1 和 eureka-server-2 。
- 在每个 Eureka Server 的 application.properties (或 application.yml )文件中进行以下配置:
- eureka-server-1 配置:
spring.application.name=eureka-server
server.port=8761
eureka.instance.hostname=localhost
eureka.client.service-url.defaultZone=http://localhost:8762/eureka/
- eureka-server-2 配置:
spring.application.name=eureka-server
server.port=8762
eureka.instance.hostname=localhost
eureka.client.service-url.defaultZone=http://localhost:8761/eureka/
- 这样,两个 Eureka Server 实例相互注册,形成高可用的集群。
2. 启动多个 Eureka Server:
- 分别启动两个 Eureka Server 实例。
二、服务注册到多个 Eureka Server
1. 服务配置:
- 在需要注册到 Eureka 的服务项目中,配置文件配置如下:
spring.application.name=your-service-name
server.port=your-service-port
eureka.client.service-url.defaultZone=http://localhost:8761/eureka/,http://localhost:8762/eureka/
- 这里指定了服务要向两个 Eureka Server 进行注册。
这样配置后,即使其中一个 Eureka Server 出现故障,服务仍然可以通过另一个正常的 Eureka Server 进行注册和发现,从而提高了系统的可用性。