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: 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: 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: 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/,另外一种做法为,只将服务消费者注册到注册中心集群的其中一台机器上,两种做法均可。从可靠性角度说,第一种做法好些,提高了系统调用的可靠性。

【转】Eureka集群的更多相关文章

  1. 微服务架构:Eureka集群搭建

    版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! 服务注册.发现是微服务架构的关键原理之一,由于微服务架构是由一系列职责单一的细粒度服务构成的网状结构,服务之间通过轻量机制进行通信,这就必 ...

  2. 基于dns搭建eureka集群

    eureka集群方案: 1.通常我们部署的eureka节点多于两个,根据实际需求,只需要将相邻节点进行相互注册(eureka节点形成环状),就达到了高可用性集群,任何一个eureka节点挂掉不会受到影 ...

  3. eureka集群基于DNS配置方式

    https://www.cnblogs.com/relinson/p/eureka_ha_use_dns.html   最近在研究spring cloud eureka集群配置的时候碰到问题:多台eu ...

  4. eureka集群的两种配置方式:配置文件方式与DNS方式

    eureka client获取serviceUrls(eureka server地址)列表的过程: 1. 根据use-dns-for-fetching-service-urls属性判断是从dns还是从 ...

  5. SpringCloud之Eureka集群

    前面我们介绍了SpringCloud注册中心Eureka,但是存在一个单点故障的问题,一个注册中心远远不能满足实际的生产环境,现在我们介绍一下如何搭建一个Eureka集群. 一:集群环境搭建 我们先建 ...

  6. eureka集群高可用配置

    譬如eureka.client.register-with-eureka和fetch-registry是否要配置,配不配区别在哪里:eureka的客户端添加service-url时,是不是需要把所有的 ...

  7. Eureka集群试验的一点总结

    先简单描述一下试验: 试验在一台机器上进行,假设有host文件中配置了以下内容 127.0.0.1 left 127.0.0.1 center 127.0.0.1 right 试验中搭建三个注册中心实 ...

  8. 【spring cloud】spring cloud中启动eureka集群时候,发生端口已经绑定的报错The Tomcat connector configured to listen on port 8000 failed to start. The port may already be in use or the connector may be misconfigured.

    在分别设置 进行微服务eureka集群启动时候,执行命令行启动jar包时候,报错前面一个端口8000已经被使用,而我这里启动的配置文件中端口号是8001,怎么会导致端口冲突呢?? 但是报错我的端口冲突 ...

  9. eureka集群高可用配置,亲测成功配置(转)

    转自大神的文章:https://blog.csdn.net/tianyaleixiaowu/article/details/78184793 网上讲这个东西的很多,抄来抄去的,大部分类似,多数没讲明白 ...

  10. Eureka集群搭建

    服务注册.发现是微服务架构的关键原理之一,由于微服务架构是由一系列职责单一的细粒度服务构成的网状结构,服务之间通过轻量机制进行通信,这就必然引入一个服务注册发现的问题,也就是说服务提供方要注册报告服务 ...

随机推荐

  1. python、第八篇:索引原理与慢查询优化

    一 介绍 1. 为何要有索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查 ...

  2. Codeforces 1000 组合数可行线段倒dp 边双联通缩点求树直径

    A /*Huyyt*/ #include<bits/stdc++.h> #define mem(a,b) memset(a,b,sizeof(a)) using namespace std ...

  3. 958. Check Completeness of a Binary Tree

    题目来源 题目来源 C++代码实现 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode ...

  4. https://github.com/zabbix/zabbix-docker 安装

    docker-compose -f ./docker-compose_v3_centos_mysql_latest.yaml up -d 解压文件,运行即可

  5. 基于树莓派2代的DIY无线路由器

    最近手上多了一个树莓派2代,于是折腾就这么开始了. 因为总是得要个显示屏或者路由器或者插根网线才能玩,有点麻烦,所以有了此文. 设备清单: 树莓派2代 EDUP EP-N8508GS无线网卡(USB) ...

  6. 计算机网络(三),TCP报文段详解

    目录 1.TCP(Transmission Control Protocol传输控制协议)作用 2.TCP报文段详解 三.TCP报文段详解 1.TCP(Transmission Control Pro ...

  7. 暑假集训 #2 div1 I - Lada Priora 精度处理

    I - Lada Priora Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Sub ...

  8. HGOI 20190822 OCWA提高组模拟赛二

    Problem A 快递 根节点为$1$ , 含有$n$个节点的树,每一条边都有一段开放的时间$[s_i,e_i]$,和经过需要的时间. 有$q$组询问,每一次在时刻$t_i$出发从根节点出发走到第$ ...

  9. SSM框架搭建,以及mybatis学习

    前两天在研究SSM框架,然后看到一篇博文,写的很清晰,照着实现了一下,这里就不重复写了,把博文地址留一下 http://blog.csdn.net/zhshulin/article/details/3 ...

  10. RESTful API Design

    https://restful-api-design.readthedocs.org/en/latest/scope.html http://blog.mashape.com/30-ways-to-m ...