springcloud高可用服务器集群搭建

服务器健壮是非常重要的,

但是有很多种原因可能会导致服务注册中心宕机,如果宕机就会有一些灾难性的问题出现,所以保证服务注册中心处于活着运行状态显得尤为重要!!!

我们必须保证,哪怕某些服务器宕机了我们的服务任然可以正常运行,所以必须保证高可用

下面我们来搭建一个高可用的服务器集群

把以前的代码复制一份,再把服务注册中心复制一下,让我们有2个服务注册中心,结构如下

springcloud高可用服务器集群搭建

如果你还不会搭建服务注册中心:eureka服务注册中心

如果你还不会搭建负载均衡:ribbon负载均衡

修改一下服务注册中心的配置文件

springcloud高可用服务器集群搭建

eureka.server.peer-node-read-timeout-ms 服务器相互拉取超时时间,单位毫秒

从图中可以看出,我们自己也往外注册,但是并不注册到服务,而是到端口号为8010的服务,而8010则注册到8002

其他的配置都是一样的,我们把两个服务注册中心都启动一下

springcloud高可用服务器集群搭建

springcloud高可用服务器集群搭建

从图中可以看到这样我们就有2个服务注册中心

我们在修改一下复制均衡的配置文件

springcloud高可用服务器集群搭建

在这里我们分别向两个服务注册中心注册服务

虽然哪怕我们只往其中一个注册,服务注册中心也会相互拉取服务,但是自动拉取有点小bug,有时候拉取不成功,所以我们还是手动注册比较保险

我们在修改一下我们的客户机(消费者)的配置文件

springcloud高可用服务器集群搭建

分别启动一下负载均衡和客户机

springcloud高可用服务器集群搭建

springcloud高可用服务器集群搭建

我们来访问一下之前的接口

springcloud高可用服务器集群搭建

现在我们把其中一个服务注册中心停止了(假设宕机)

 

springcloud高可用服务器集群搭建

在测试一下接口

springcloud高可用服务器集群搭建

发现我们的接口不受影响

o(*≧▽≦)ツ┏━┓

o(*≧▽≦)ツ┏━┓

o(*≧▽≦)ツ┏━┓

配套源码:https://gitee.com/ww2510095/spring_cloud_learning