Day02 使用Spring Cloud搭建高可用服务注册中心

              上篇博客【使用Spring Cloud搭建服务注册中心】中我们介绍了如何使用Spring Cloud搭建一个服务注册中心,但是搭建好的服务注册中心是一个单节点的服务注册中心,这样一旦发生了故障,那么整个服务就会瘫痪,所以我们需要一个高可用的服务注册中心,那么在Eureka中,我们通过集群来解决这个问题。Eureka Server的高可用实际上就是将自己作为服务向其他服务注册中心注册自己,这样就会形成一组互相注册的服务注册中心,进而实现服务清单的互相同步,达到高可用的效果。OK,由于本文的效果是在上篇博客【使用Spring Cloud搭建服务注册中心】的基础上实现的,所以建议小伙伴们先阅读上文,否则本文阅读可能会没有头绪。

             OK,废话不多说,我们就来看看如何搭建高可用注册中心。

1.增加配置文件

	application-peer1.yml
server:
 port: 8888 #端口号
eureka:
  instance:
   hostname: peer1  #localhost表示设置该服务注册中心的peer1
  client:
   register-with-eureka: false  #禁止向eureka注册自己
   fetch-registry: false  #表示不去检索其他的服务
   service-url:
    defaultZone: http://peer2:9999/eureka/
	application-peer2.yml
server:
 port: 9999 #端口号
eureka:
  instance:
   hostname: peer2  #localhost表示设置该服务注册中心的peer2
  client:
   register-with-eureka: false  #禁止向eureka注册自己
   fetch-registry: false  #表示不去检索其他的服务
   service-url:
    defaultZone: http://peer1:8888/eureka/
关于这两个配置文件我说如下几点:

    1.在peer1的配置文件中,让它的service-url指向peer2,在peer2的配置文件中让它的service-url指向peer1
    2.为了让peer1和peer2能够被正确的访问到,我们需要在C:\Windows\System32\drivers\etc目录下的hosts文件总添加两行配置,如下:

127.0.0.1 peer1
127.0.0.1 peer2

    3.由于peer1和peer2互相指向对方,实际上我们构建了一个双节点的服务注册中心集群

然后maven打包

如图:
在这里插入图片描述

启动项目

        生成jar文件之后,我们在命令行通过java命令来启动项目,在启动的时候我们可以设置采用不同的配置文件来启动项目,命令如下:

java -jar springcloud-eureka-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1  
java -jar springcloud-eureka-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2

        我们访问localhost:8888和localhost:9999的时候可以看到:
在peer1的节点的DS replicas我们已经可以看到peer2节点了,在peer2的DS replicas中我们也可以看到peer1节点了。
在这里插入图片描述
在这里插入图片描述

接下来我们修改user项目的yml

在这里插入图片描述

        启动之后发现两个eureka都有user服务被注册
在这里插入图片描述
在这里插入图片描述

               OK,至此,一个高可用的服务注册中心我们就搭建成功了!!

猜你喜欢

转载自blog.csdn.net/Alone5256/article/details/89384707
今日推荐