1、 Eureka作为spring cloud的服务发现与注册中心,在整个的微服务体系中,处于核心位置。单机模式下的eureka服务,显然不能满足高可用的实际生产环境,这就要求配置一个能够应对各种突发情况,具有较强容灾能力的eureka服务。Eureka通过“伙伴机制”实现高可用。每一台Eureka都需要在配置中指定另外两个Eureka的地址伙伴,Eureka启动时会向自己的伙伴节点获取当前已经存在的注册表,这样在向Eureka集群中新加机器时就不需要担心注册表的不完整。

2、 新建三个maven项目,分别为sc-eureka-cluster-server-node1,sc-eureka-cluster-server-node2,sc-eureka-cluster-server-node3。项目结构如下:

备注:pom.xml和EurekaServerApplication.java的内容给单机模式是一模一样的,请参考上篇文章。

3、         主要看下bootstap.yml或者application.yml文件的改动

sc-eureka-cluster-server-node1

spring:

application:

name: sc-eureka-cluster-server-node1

server:

port: 5001

eureka:

instance:

hostname: sc-eureka-cluster-server-node1

lease-renewal-interval-in-seconds: 30

lease-expiration-duration-in-seconds: 30

prefer-ip-address: true

client:

registerWithEureka: false

fetchRegistry: false

serviceUrl:

defaultZone: http://sc-eureka-cluster-server-node2:5002/eureka/,http://sc-eureka-cluster-server-node3:5003/eureka/

sc-eureka-cluster-server-node2

spring:

application:

name: sc-eureka-cluster-server-node2

server:

port: 5002

eureka:

instance:

hostname: sc-eureka-cluster-server-node2

lease-renewal-interval-in-seconds: 30

lease-expiration-duration-in-seconds: 30

prefer-ip-address: true

client:

registerWithEureka: false

fetchRegistry: false

serviceUrl:

defaultZone: http://sc-eureka-cluster-server-node1:5001/eureka/,http://sc-eureka-cluster-server-node3:5003/eureka/

sc-eureka-cluster-server-node3

spring:

application:

name: sc-eureka-cluster-server-node3

server:

port: 5003

eureka:

instance:

hostname: sc-eureka-cluster-server-node3

lease-renewal-interval-in-seconds: 30

lease-expiration-duration-in-seconds: 30

prefer-ip-address: true

client:

registerWithEureka: false

fetchRegistry: false

serviceUrl:

defaultZone: http://sc-eureka-cluster-server-node1:5001/eureka/,http://sc-eureka-cluster-server-node2:5001/eureka/

4、         配置host文件C:\Windows\System32\drivers\etc\hosts

127.0.0.1 sc-eureka-cluster-server-node1

127.0.0.1 sc-eureka-cluster-server-node2

127.0.0.1 sc-eureka-cluster-server-node3

5、         分别启动EurekaServerApplication.java

sc-eureka-cluster-server-node1的日志:

sc-eureka-cluster-server-node2的日志:

sc-eureka-cluster-server-node3的日志

如果出现上面圈住的日志说明启动成功

6、         在浏览器分别访问

http://sc-eureka-cluster-server-node1:5001/

http://sc-eureka-cluster-server-node2:5002/

http://sc-eureka-cluster-server-node3:5002/

下面列出几个重要的配置项类:

org.springframework.boot.autoconfigure.web.ServerProperties

org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean

com.netflix.eureka.EurekaServerConfig

com.netflix.eureka.DefaultEurekaServerConfig

org.springframework.cloud.netflix.eureka.server.EurekaServerConfigBean

com.netflix.discovery.EurekaClientConfig

com.netflix.discovery.DefaultEurekaClientConfig

org.springframework.cloud.netflix.eureka.EurekaClientConfigBean

2、eureka注册中心集群的更多相关文章

  1. springCloud系列教程01:Eureka 注册中心集群搭建

    springCloud系列教程包含如下内容: springCloud系列教程01:Eureka 注册中心集群搭建 springCloud系列教程02:ConfigServer 配置中心server搭建 ...

  2. 一个线上问题的思考:Eureka注册中心集群如何实现客户端请求负载及故障转移?

    前言 先抛一个问题给我聪明的读者,如果你们使用微服务SpringCloud-Netflix进行业务开发,那么线上注册中心肯定也是用了集群部署,问题来了: 你了解Eureka注册中心集群如何实现客户端请 ...

  3. SpringCloud Eureka(注册中心集群)

    多个注册中心,其实用不同的配置对应 不同的端口号注册就行了. 注册中心自己也是个服务,看看之前的单个注册中心是怎么样的呢? server: port: 8888 # 服务端口eureka: insta ...

  4. eureka注册中心集群

    注册中心集群: 思想:让一个eureka注册中心 注册到 另一个eureka注册中心上去即A注册到B,B注册到A 注册中心配置: 1:端口号不同2:应用名称相同3:相互注册

  5. Spring Cloud Eureka 注册中心集群搭建,Greenwich 最新版!

    Spring Cloud 的注册中心可以由 Eureka.Consul.Zookeeper.ETCD 等来实现,这里推荐使用 Spring Cloud Eureka 来实现注册中心,它基于 Netfl ...

  6. spring cloud Eureka注册中心集群搭建

    1.创建springcloud-eureka maven项目 pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0&quo ...

  7. centos7环境搭建Eureka-Server注册中心集群

    目的:测试和线上使用这套独立的Eureka-Server注册中心集群,目前3台虚拟机集群,后续可直接修改配置文件进行新增或减少集群机器. 系统环境: Centos7x64 java8+(JDK1.8+ ...

  8. dubbo-admin与多注册中心(注册中心集群)

    在使用dubbo时,注册中心是一个必要的架构组成成员.当我们的注册中心没有采取集群时,如何在dubbo-admin中配置,我们可以根据dubbo官方文档,很快找到我们的答案. 但是当注册中心集群之后怎 ...

  9. SpringCloud之Eureka(注册中心集群篇)

    一:集群环境搭建 第一步:我们新建两个注册中心工程一个叫eureka_register_service_master,另一个叫eureka_register_service_backup eureka ...

随机推荐

  1. docker--container之间的link,bridge create

    container的name和ID一样,也是唯一的,当不知道container的IP时,可以用name替代,但需要先配置link 下面创建两个container 时,未配置link所以ping nam ...

  2. Ansible@一个高效的配置管理工具--Ansible configure management--翻译(三)

    未经书面许可.请勿转载 一张图简单概括 Simple Playbooks Ansible is useful as a command-line tool for making small chang ...

  3. 一些常ArcGIS常用简单算法 C#

    最近开始重构不顺眼的辣鸡代码,顺带将某个模块的一个算法辅助类贴到这里. /// <summary> /// 算法逻辑辅助类 /// </summary> internal st ...

  4. spring3.0+jsf+ibatis整合

    user.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE sqlMap PUBLI ...

  5. HDFS学习笔记二

    文章来源于:https://blog.csdn.net/xuejingfu1/article/details/52554174 文件写入staging(分阶段进行) 一个客户端的创建文件的请求并不直接 ...

  6. 字符串String的使用方法

    var ddd = "举头望明月,低头思故乡" document.writeln(ddd.split(''));//选择字符串中的一个标识符,将字符串分割成数组; var slic ...

  7. 绘图matplotlib

    前言 matplotlib是python的一个绘图库,如果你没有绘制过图,可以先试试js的绘图库http://www.runoob.com/highcharts/highcharts-line-lab ...

  8. RecyclerView跳转到指定位置的三种方式

    自从android5.0推出RecyclerView以后,RecyclerView越来越受广大程序员的热爱了!大家都知道RecyclerView的出现目的是为了替代listview和ScrollVie ...

  9. 【C/C++】知识点系统复习 (第一周)

    2018/12/18 周二 1. C++内存布局分为几个区域,每个区域有什么特点? 主要可以分为 5 个区域, (1) 栈区:由编译器自动分配释放,存放函数的参数值,局部变量的值等.其操作方式类似于数 ...

  10. js使用childnodes获取子节点时多了text节点

    当我们获取标签的节点时如果使用childnodes发现它会把空格和回车都算着节点,明明里面才有3个节点,结果显示5个,而且childnodes[0]="text" 在IE浏览器中没 ...