zoukankan      html  css  js  c++  java
  • 【微服务架构】SpringCloud之Eureka(注册中心集群篇)(三)

    上一篇讲解了spring注册中心(eureka),但是存在一个单点故障的问题,一个注册中心远远无法满足实际的生产环境,那么我们需要多个注册中心进行集群,达到真正的高可用。今天我们实战来搭建一个Eureka集群。

     一:集群环境搭建

        第一步:我们新建两个注册中心工程一个叫eureka_register_service_master、另外一个叫eureka_register_service_backup

    eureka_register_service_master的application.properties配置如下

    1
    2
    3
    4
    5
    6
    7
    8
        server.port=7998
        eureka.client.register-with-eureka=false
        eureka.client.fetch-registry=false
        spring.application.name=eureka-server
        eureka.instance.hostname=master
        eureka.client.serviceUrl.defaultZone=http://backup:7999/eureka/
        #这里配置的是backup的地址
        eureka_register_service_backup的application.properties配置如下

            eureka_register_service_backup的application.properties配置如下

    1
    2
    3
    4
    5
    6
    7
        server.port=7999
        eureka.client.register-with-eureka=false
        eureka.client.fetch-registry=false
        spring.application.name=eureka-server
        eureka.instance.hostname=backup
        #这里配置的是master的地址
        eureka.client.serviceUrl.defaultZone=http://master:7998/eureka/

    上面的配置端口分别是

    master端口是7998

    backupr端口是7999

    由于我用的是同一台机器所以需要绑定下host

    127.0.0.1      master 

    127.0.0.1      backup 

    第二步:添加启动文件分别是ApplicationMaster.java,ApplicationBackUp.java

        里面代码内容是一样的

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
            
            @EnableEurekaServer
        @SpringBootApplication
        public class ApplicationMaster {
            public static void main(String[] args) {
                SpringApplication.run(ApplicationMaster.class, args); 
            }
     
        }
         
         
        @EnableEurekaServer
        @SpringBootApplication
        public class ApplicationBackUp {
            public static void main(String[] args) {
                SpringApplication.run(ApplicationBackUp.class, args);
            }
     
        }  

        

    第三步:启动

     如果是jar启动需要 加参数 --spring.profiles.active=matser或者 --spring.profiles.active=backup

     第一种方法是通过jar命令启动

    1
    2
    3
             java -jar eureka_register_service_matser-1.0.0.jar --spring.profiles.active=matser
              
         java -jar eureka_register_service_backup-1.0.0.jar --spring.profiles.active=backup

     

     第二种是通过eclipse点击右键Run As 启动

     需要加入参数如下图

             

    第四步:查看界面

      

     分别打开http://127.0.0.1:7998/  和 http://127.0.0.1:7999/ 如下图

     

     

     

     

     通过上图可以看

       端口7998是matser它的registered-replicas指向了http://backup:7999/eureka/

              端口7999是backup它的registered-replicas指向了http://master:7999/eureka/

     

     注:有人会问为什么unavailable-replicas http://backup:7999/eureka/或者http://master:7999/eureka/ 那是因为我的配置吧

     eureka.client.register-with-eureka设置成false 改成true就可以

     

     二:服务端注册

     设置了多个注册中心后,我们的服务配置不需要太多改动只需将biz-service-0工程的application.properties的serviceUrl修改下

    1
     eureka.client.serviceUrl.defaultZone=http://master:7998/eureka/,http://backup:7999/eureka/,

     当然也可以绑定一个地址,eureka.client.serviceUrl.defaultZone=http://master:7998/eureka/  这两种绑定都可以

     三:集群理解

     虽然上面我们以双节点作为例子,但是实际上因负载等原因,我们往往可能需要在生产环境构建多于两个的Eureka Server节点。那么对于如何配置serviceUrl来让集群中的服务进行同步,需要我们更深入的理解节点间的同步机制来做出决策。我们通过一张图来理解集群

    源码地址:https://github.com/zhp8341/SpringCloudDemo

  • 相关阅读:
    JavaScript实现类的private、protected、public、static以及继承
    OSS网页上传和断点续传(STSToken篇)
    OSS网页上传和断点续传(OSS配置篇)
    Linq sum()时遇到NULL
    SQLSERVER事务日志已满 the transaction log for database 'xx' is full
    笔记本高分辨软件兼容问题,字体太小或模糊
    H5上传图片之canvas
    An error occurred while updating the entries. See the inner exception for details.
    无限级结构SQL查询所有的下级和所有的上级
    SQLserver 进程被死锁问题解决
  • 原文地址:https://www.cnblogs.com/snake23/p/9477536.html
Copyright © 2011-2022 走看看