zoukankan      html  css  js  c++  java
  • 【转】Eureka集群

    Eureka作为SpringCloud的服务发现与注册中心,在整个的微服务体系中,处于核心位置。单一的eureka服务,显然不能满足高可用的实际生产环境,这就要求我们配置一个能够应对各种突发情况,具有较强容灾能力的eureka集群服务。

    首先,参考eureka服务端7001的模块,分别创建eureka7002和eureka7003模块,另外还要做如下修改。还记得我们在7001中配置的eureka.instance.hostname为localhost,那么现在在集群的环境中,如果还是这样的话,就没法区分三个服务端,所以我们需要在hosts文件中添加映射,以及在对应模块中修改服务名。

    127.0.0.1  eureka7001.com
    127.0.0.1  eureka7002.com
    127.0.0.1  eureka7003.com

    eureka7001模块的application.yml

    server:
      port: 7001
    
    eureka:
      instance:
        hostname: eureka7001.com #eureka服务端的名称
      client:
        register-with-eureka: false #不在注册中心注册自己
        fetch-registry: false #表示自己就是注册中心,不需要检索服务,只需要维护服务实例
        service-url:
          defaultZone: http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/

    eureka7002模块的application.yml

    server:
      port: 7002
    
    eureka:
      instance:
        hostname: eureka7002.com #eureka服务端的名称
      client:
        register-with-eureka: false #不在注册中心注册自己
        fetch-registry: false #表示自己就是注册中心,不需要检索服务,只需要维护服务实例
        service-url:
          defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7003.com:7003/eureka/

    eureka7003模块的application.yml

    server:
      port: 7003
    
    eureka:
      instance:
        hostname: eureka7003.com #eureka服务端的名称
      client:
        register-with-eureka: false #不在注册中心注册自己
        fetch-registry: false #表示自己就是注册中心,不需要检索服务,只需要维护服务实例
        service-url:
          defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/

    另外需要注意,我们之前在服务提供者8001中的配置是,将服务注册到服务端7001上,那么现在是集群环境,有三个服务端,所以需要将提供的服务注册到三个EurekaServer上,所以需要修改服务提供者8001的注册地址。

    eureka:
      client:
        service-url:
          defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
    以上eureka的集群配置基本完成,然后我们测试一下,启动三个EurekaServer,并将服务提供者8001启动,访问eureka7001.com:7001。
     
     

    我们看到,服务提供者已经将服务注册到注册中心了,而且我们访问的是7001,上面挂载着另外两个7002和7003。这里我相信大家都明白了,如果我们访问eureka7002.com:7002,同样的服务已经注册进来,而且挂载着7001和7003,那么访问eureka7003.com:7003亦是如此。



    作者:蔡先森_caiyq
    链接:https://www.jianshu.com/p/c9330b450050
    来源:简书

    本人补充:

    在服务消费者注册到注册中心的时候,有两种做法,一种是:全部注册到注册中心集群的每一台机器上,示例做法如下:defaultZone: http://admin:123456@localhost:8888/eureka/,http://admin:123456@localhost:8889/eureka/,另外一种做法为,只将服务消费者注册到注册中心集群的其中一台机器上,两种做法均可。从可靠性角度说,第一种做法好些,提高了系统调用的可靠性。

  • 相关阅读:
    华为云·核心伙伴开发者训练营第七期开营,共赴产业云美好明天!
    GaussDB (for Cassandra) 数据库治理:大key与热key问题的检测与解决
    我的应用我做主丨动手搭建招聘小应用
    大数据集群被窃取数据怎么办?透明加密可以一试
    云小课 | 使用ROMA API,API管理从此不用愁!
    带你了解Node.js包管理工具:包与NPM
    下班约会时来了新需求,咋办?
    CANN 5.0黑科技解密 | 算力虚拟化,让AI算力“物尽其用”
    15个问题自查你真的了解java编译优化吗?
    鸿蒙轻内核M核的故障管家:Fault异常处理
  • 原文地址:https://www.cnblogs.com/jizhong/p/11390959.html
Copyright © 2011-2022 走看看