zoukankan      html  css  js  c++  java
  • 使用SpringCloud搭建高可用服务注册中心

    我们需要的,不仅仅是一个服务注册中心而已,而是一个高可用服务注册中心。

    上篇博客中我们介绍了如何使用Spring Cloud搭建一个服务注册中心,但是搭建好的服务注册中心是一个单节点的服务注册中心,这样一旦发生了故障,那么整个服务就会瘫痪,所以我们需要一个高可用的服务注册中心,那么在Eureka中,我们通过集群来解决这个问题。Eureka Server的高可用实际上就是将自己作为服务向其他服务注册中心注册自己,这样就会形成一组互相注册的服务注册中心,进而实现服务清单的互相同步,达到高可用的效果。

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

    增加配置文件

    在上篇博客中,我们创建了一个名叫eureka-server的服务注册中心,那么在本文中,我将修改这个工程的配置文件,进而将其启动多次。如下,我向这个工程中添加两个配置文件application-peer1.properties和application-peer2.properties:

    两个配置文件的内容分别如下:

    application-peer1.properties:

    server.port=1111
    eureka.instance.hostname=peer1
    eureka.client.register-with-eureka=false
    eureka.client.fetch-registry=false
    eureka.client.service-url.defaultZone=http://peer2:1112/eureka/

    application-peer2.properties:

    server.port=1112
    eureka.instance.hostname=peer2
    eureka.client.register-with-eureka=false
    eureka.client.fetch-registry=false
    eureka.client.service-url.defaultZone=http://peer1:1111/eureka/

    关于这两个配置文件我说如下几点:

    1、在peer1的配置文件中,让它的service-url指向peer2,在peer2的配置文件中让它的service-url指向peer1

    2、为了让peer1和peer2能够被正确的访问到,我们需要在C:WindowsSystem32driversetc目录下的hosts文件总添加两行配置,如下:

    127.0.0.1 peer1

    127.0.0.1 peer2

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

    生成jar文件

    OK,这次我们不直接从IDEA中启动项目,而是先给工程生成jar文件,生成方式如下,双击package生成:

     

    生成结果如下:

     

    启动项目

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

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

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

    这两行命令表示我们分别采用application-peer1.properties和application-peer2.properties两个配置文件来启动应用,OK,执行完这两个命令之后,我们的服务注册中心就启动了两个了,效果图如下:

     

    我们可以看到,在peer1的节点的DS replicas我们已经可以看到peer2节点了,在peer2的DS replicas中我们也可以看到peer1节点了。

    OK,如此之后,我们的服务注册中心集群就搭建好了,然后我们可以做一个简单的测试。

    测试

    修改上篇博客中提到的provider项目的配置文件,如下:

    spring.application.name=hello-service  
    eureka.client.service-url.defaultZone=http://peer1:1111/eureka,http://peer2:1112/eureka

    小伙伴们注意,我们在service-url中添加了两个注册中心地址,两个地址中间用,隔开,OK,修改一下这里就可以了,接下来我们来启动这个项目,启动成功之后我们再去刷新http://localhost:1111和http://localhost:1112 两个页面,我们会发现我的服务提供者在这两个服务注册中心都注册了,如下:

     

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

    原文地址:

    https://mp.weixin.qq.com/s/ie042Q_h8ppsroEjQ0bdgg

  • 相关阅读:
    BPM已经全面开启
    终于理解集线器、交换机、路由器之间的区别了
    Linux系统桥接模式下配置静态ip地址
    理解并手写Spring MVC框架
    Java 8 Funciton、Consumer、Predicate的作用及用法
    你想了解的分布式文件系统HDFS,看这一篇就够了
    分布式处理框架Hadoop的安装与使用
    CentOS7 中常用命令
    VMware安装Centos7并联网使用
    理解Spring AOP的实现方式与思想
  • 原文地址:https://www.cnblogs.com/xyhero/p/3a34679d2b3d134ef6fcd4493bd5a5ae.html
Copyright © 2011-2022 走看看