搭建高可用EurekaServer

1 Eureka集群思路

在之前的案例《搭建单机版EurekaServer》中,我们只有一台EurekaServer,事实上EurekaServer也可以是一个集群,形成高可用的Eureka中心。

多个Eureka Server之间也会互相注册为服务,当服务提供者注册到Eureka Server集群中的某个节点时,该节点会把服务的信息同步给集群中的每个节点,从而实现高可用集群。因此,无论客户端访问到Eureka Server集群中的任意一个节点,都可以获取到完整的服务列表信息。

而作为客户端,需要把信息注册到每个Eureka中:

如果有三个Eureka,则每一个Eureka Server都需要注册到其它几个Eureka服务中,例如:有三个分别为10086、10087、10088,则:

  • 10086要注册到10087和10088上
  • 10087要注册到10086和10088上
  • 10088要注册到10086和10087上
     

2 Eureka Server配置

1)10086配置

server:
  port: 10086
spring:
  application:  
    name: eureka-server 
# eureka服务端配置
eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url: 
      defaultZone: http://localhost:10087/eureka,http://localhost:10088/eureka  # 多个使用逗号分开

2)10087配置

server:
  port: 10087
spring:
  application:  
    name: eureka-server 
# eureka服务端配置
eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url: 
      defaultZone: http://localhost:10086/eureka,http://localhost:10088/eureka  # 多个使用逗号分开

3)10088配置

server:
  port: 10088
spring:
  application:  
    name: eureka-server 
# eureka服务端配置
eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url: 
      defaultZone: http://localhost:10086/eureka,http://localhost:10087/eureka  # 多个使用逗号分开

3 Eureka Client配置 

所有客户端微服务都需要同时往三台Eureka Server注册,配置如下:

server:
  port: 9001
spring:
  application:  
    name: user-service
# eureka服务端配置
eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url: 
      defaultZone: http://localhost:10086/eureka,http://localhost:10087/eureka,http://localhost:10088/eureka  # 多个使用逗号分开

 

热门文章

优秀文章