单机模式下搭建高可用spring cloud eureka 集群


Eureka组件作为SpringCloud微服务的服务发现与注册中心,在整个的微服务体系中,处于核心位置。单一部署的eureka服务,已经不能满足实际生产环境,这就要求我们配置一个能够应对各种突发情况、高可用、具有较强容灾能力的eureka集群服务。

首先,参考eureka服务端8761的模块,分别创建eureka8762和eureka8763模块,另外还要做如下修改。单个eureka情况下在8761中配置的eureka.instance.hostname为localhost,那么现在在集群的环境中,如果还是这样的话,就没法区分三个服务端,所以我们需要在操作系统的hosts文件中添加映射,以及在对应模块中修改服务名。

<code>127.0.0.1  eureka8761.com
127.0.0.1 eureka8762.com
127.0.0.1 eureka8763.com
/<code>

eureka8761模块的application.yml

<code>server:
port: 8761

eureka:
instance:
hostname: eureka8761.com #eureka服务端的名称
client:
register-with-eureka: false #不在注册中心注册自己
fetch-registry: false #表示自己就是注册中心,不需要检索服务,只需要维护服务实例
service-url:
defaultZone: http://eureka8762.com:8762/eureka/,http://eureka8763.com:8763/eureka/
/<code>

eureka8762模块的application.yml

<code>server:
port: 8762

eureka:
instance:
hostname: eureka8762.com #eureka服务端的名称
client:
register-with-eureka: false #不在注册中心注册自己

fetch-registry: false #表示自己就是注册中心,不需要检索服务,只需要维护服务实例
service-url:
defaultZone: http://eureka8761.com:8761/eureka/,http://eureka8763.com:8763/eureka/
/<code>

eureka8763模块的application.yml

<code>server:
port: 8763

eureka:
instance:
hostname: eureka8763.com #eureka服务端的名称
client:
register-with-eureka: false #不在注册中心注册自己
fetch-registry: false #表示自己就是注册中心,不需要检索服务,只需要维护服务实例
service-url:
defaultZone: http://eureka8761.com:8761/eureka/,http://eureka8762.com:8762/eureka/
/<code>

在eureka客户端配置eureka集群,这里需要以下配置:

<code>eureka:
client:
service-url:
defaultZone: http://eureka8761.com:8761/eureka/,http://eureka8762.com:8762/eureka/,http://eureka8763.com:8763/eureka/
/<code>

以上eureka的集群配置基本完成,然后我们测试一下,启动三个EurekaServer,并将eureka客户端启动,

  • 访问eureka8761.com:8761。
单机模式下搭建高可用spring cloud eureka 集群

  • 访问eureka8762.com:8762
单机模式下搭建高可用spring cloud eureka 集群

  • 访问eureka8763:8763
单机模式下搭建高可用spring cloud eureka 集群

我们看到,eureka客户端已经将服务注册到注册中心集群了,而且我们访问的是8761,上面挂载着另外两个8762和8763,分别访问8762、8763也是如此!


分享到:


相關文章: