SpringCloud系列四:搭建Eureka高可用服务注册中心

在实际的应用中,分布式系统为了防止单体服务宕机带来严重后果,一般都会采用服务器集群的形式,服务注册中心也是一样,需要多台服务一起工作,组成高可用的服务注册中心。这样,如果有其中一台宕机,系统也能正常运行。

那么如何来构建高可用的服务注册中心呢?

由于eureka注册中心既可以作为服务端(服务注册中心),也可以作为客户端(到别的注册中心注册自己),我们可以通过在机器上部署两个注册中心,两个注册中心又相互注册。

首先,我们来准备两个linux环境,用于部署2个注册中心,在/etc/hosts文件里面加入如下配置,让2台机器能互相识别对方的主机名,主机名如何修改请自行百度。

 

接下来修改配置文件,911端口的配置如下

由于需要wx.comnode2相互注册,因此之前步骤中,eureka.client.register-with-eureka=falseeureka.client.fetch-registry=false这两个配置就不能要了,需要注释掉或删掉。

912端口的配置如下:

两个节点相互注册

分别打成jar包传到对应的linux服务器上去,如图所示:

在本地hosts文件中加入node2的配置,如图:

启动,然后在浏览器中观察结果

运行wx.com节点:发现DS Replicas(副本分片)中有node2节点,下面的registered-replicas(注册分片), available-replicas(可用分片)中也有node2节点;同理,运行node2节点也会看到类似效果。

 

接下来,我们来运行服务提供者和服务消费者,二者的服务中心地址配置现在需要添加2个节点了,如图:

启动服务提供者和服务消费者,运行消费者,得到结果:

如果断掉某个注册中心,服务照常可用,这里就不演示了。

 

网上很多讲的都是用主机名进行注册,我个人喜欢用ip地址进行注册。用ip地址搭建注册中心配置如下图所示:

端口为911的注册中心如下:

端口为912的注册中心如下:

同样是互相注册,运行结果如下图所示:

运行另一个节点得到类似结果。客户端这时候注册中心的url也要改一下了,如图所示:

好了,本篇就介绍到这里,喜欢的话就点个赞吧!

猜你喜欢

转载自blog.csdn.net/wx5040257/article/details/108568750