当前位置:主页 > 软件编程 > JAVA代码 >

单台Spring Cloud Eureka升级到三台Eureka高可用集群

时间:2020-11-25 11:52:21 | 栏目:JAVA代码 | 点击:

概述

由于前段时间,公司业务发展快,接了太多的业务需求了,没有时间把Eureka搞成高可用的,先用一台Eureka应付。当时由于流量还不大,不会出现问题。但是最近一个月,流量逐渐增大,老板担心万一单台Eureka挂了,服务会用不了。让我赶紧升级成3台Eureka,并两两注册,做到高可用。下面就把升级的过程说一下。

未升级前

单台Eureka上,只有购物车这个服务提供方,共两台。

升级步骤

为了描述的方便,线上已经存在的Eureka称之为peer1,新增的两台Eureka分别叫peer2peer3

第一步

peer2peer3作为客户端注册到peer1上,根据Eureka的原理,peer1上的注册信息会同步到peer2peer3上。但是由于购物车服务只会给peer1发送心跳,而不会给peer2peer3发送心跳信息,如果我们把Eureka的自我保护模式关闭掉的话,刚刚同步到peer2peer3上的购物车实例信息会很快被摘除掉的。

第二步

如第一步所提到的,peer2peer3上的购物车实例会很快被摘除掉,因此我们还需要把peer1也作为客户端注册到peer2和peer3上。这样,由于购物车服务会给peer1发送心跳,因此peer1是会保存购物车服务的实例信息的,根据Eureka的同步原理,这份实例信息会同步到peer2peer3上,并自动维护这份信息。到此,注册中心的升级便完成了。最终效果如下:

第三步

重新部署购物车服务,将购物车服务的注册中心地址,指向高可用的注册中心。

第四步

重新部署Eureka Client,将其注册中心的地址指向高可用的注册中心。
我是按照上面的方式升级的,没发现问题。有更好办法的,欢迎在评论中留言。

总结

您可能感兴趣的文章:

相关文章