一、原理

如图所示,多台Server端之间相互注册(这里以两台Server为例),Client端向所有的Server端注册。

二、Server端配置

1. 添加依赖

<dependency>
  <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>

2. 使用@EnableEurekaServer注解,开启Server端

@EnableEurekaServer
@SpringBootApplication
public class TestEurekaApplication { public static void main(String[] args) {
SpringApplication.run(QmkxServerEurekaApplication.class, args);
}
}

3. 增加配置

  为了配置方便,这里使用主机名代替IP,此处以单机为例,若多台机器,改为相应IP即可。

hosts配置:

127.0.0.1   peer1
127.0.0.1 peer2

application-peer1.yml配置:

server:
port: 2181
eureka:
client:
service-url:
defaultZone: http://peer2:2182/eureka/
instance:
hostname: peer1
prefer-ip-address: true

application-peer2.yml配置:

server:
port: 2182
eureka:
client:
service-url:
defaultZone: http://peer1:2181/eureka/
instance:
hostname: peer2
prefer-ip-address: true

三、Client端配置

1. 添加依赖

<dependency>
  <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

2. 使用@EnableDiscoveryClient注解,开启注册功能

@EnableDiscoveryClient
@SpringBootApplication
public class TestUserApplication {
public static void main(String[] args) {
SpringApplication.run(TestUserApplication.class, args);
}
}

3. 修改配置文件,添加所有的Server,用逗号隔开

# 注册中心
eureka:
instance:
prefer-ip-address: true
client:
service-url:
defaultZone: http://peer1:2181/eureka/,http://peer2:2182/eureka/

四、查看Eureka

Spring Cloud Eureka高可用落地实战的更多相关文章

  1. spring cloud eureka高可用

    记录下自己踩的坑 spring cloud eureka的高可用网上的教程大致分为两种,一种是两两互相注册,一种是三个互相注册. 1.两两互相注册 普通服务的注册写法都是http://peer1/eu ...

  2. 笔记:Spring Cloud Eureka 高可用注册中心

    在微服务架构这样的分布式环境中,我们需要充分考虑发生故障的情况,所以在生产环境中必须对各个组件进行高可用部署,对与微服务和服务注册中心都需要高可用部署,Eureka 高可用实际上就是将自己作为服务向其 ...

  3. Spring Cloud Eureka 高可用注册中心

    参考:<<spring cloud 微服务实战>> 在微服务架构这样的分布式环境中,各个组件需要进行高可用部署. Eureka Server 高可用实际上就是将自己作为服务向其 ...

  4. 3.spring cloud eureka 高可用

    1.目的 防止某一台服务器宕机 通常通过多台EUREKA来为客户端进行注册,客户也进行注册 2.开启三台EUREKA 三天EUREKA分别对应端口 8761 8762 8763 配置文件如下 EURE ...

  5. Spring cloud Eureka高可用 - 配置

    个人项目源码: https://github.com/easonstudy/cloud-demo/tree/master/eureka-peer-server Window 7 修改hosts  ht ...

  6. Spring cloud Eureka高可用 - Windows 7 hosts文件立即生效

    hosts 文件所在位置 c:/windows/system32/drivers/etc/hosts 左下角 搜索框 搜索 cmd 弹出命令框 输入 ipconfig /displaydns 显示所有 ...

  7. spring cloud配置高可用eureka时遇到的一些坑

    考虑到注册中心的高可用,今天搭建一下eureka集群,并在中途遇到一些小的坑,前前后后花了两个小时来排除,在这里记录一下,以供后面查看. 首先,贴上要达到的效果: 一.起两个eureka模拟集群,在D ...

  8. 使用Spring Cloud搭建高可用服务注册中心

    我们需要的,不仅仅是一个服务注册中心而已,而是一个高可用服务注册中心. 上篇博客[使用Spring Cloud搭建服务注册中心]中我们介绍了如何使用Spring Cloud搭建一个服务注册中心,但是搭 ...

  9. 从零开始学spring cloud(八) -------- Eureka 高可用机制

    一.Eureka高可用机制介绍 Eureka服务器没有后端存储,但注册表中的服务实例都必须发送心跳以使其注册保持最新(因此可以在内存中完成). 客户端还有一个Eureka注册的内存缓存(因此,他们不必 ...

随机推荐

  1. rabbitmq之window环境启动

    rabbitmq启动方式有2种 1.以应用方式启动 rabbitmq-server -detached 后台启动 Rabbitmq-server 直接启动,如果你关闭窗口或者需要在改窗口使用其他命令时 ...

  2. MIPS 汇编指令学习

    MIPS 寄存器 MIPS comes with 32 general purpose registers named $0. . . $31Registers also have symbolic ...

  3. python3 中文乱码,UnicodeEncodeError: 'latin-1' codec can't encode characters in position 10-13: ordinal not in range(256)

    将其源代码复制下来运行之后,报了下面这个错误: UnicodeEncodeError: 'latin-1' codec can't encode characters in position 9-13 ...

  4. <NET CLR via c# 第4版>笔记 第8章 方法

    8.1 实例构造器和类(引用类型) 构造引用类型的对象时,在调用类型的实例构造器之前,为对象分配的内存总是先被归零 .没有被构造器显式重写的所有字段都保证获得 0 或 null 值. 构造器不能被继承 ...

  5. Alpha阶段贡献分配规则

    作业要求[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2244] 分配规则: 1.每人有基础分3分. 2.每参加一次组内会议及活动加0. ...

  6. Python + Djang+ Visual Studio Code(VSCode)

    使用 Visual Studio Code(VSCode)搭建简单的 Python + Django 开发环境 https://www.cnblogs.com/Dy1an/p/10130518.htm ...

  7. 20165212实验三——敏捷开发与XP实践

    20165212实验三 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 实验知识点总结 (一)敏捷开发与XP 软件工程:把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上的过 ...

  8. POI2012题解

    POI2012题解 这次的完整的\(17\)道题哟. [BZOJ2788][Poi2012]Festival 很显然可以差分约束建图.这里问的是变量最多有多少种不同的取值. 我们知道,在同一个强连通分 ...

  9. i2c接口笔记

    一. i2c基础知识 1. NACK信号:当在第9个时钟脉冲的时候SDA线保持高电平,就被定义为NACK信号.Master要么产生STOP条件来放弃这次传输,或者重复START条件来发起一个新的开始. ...

  10. Array.new(5, [1, 2, 3]) or Array.new(5) { [1, 2, 3] }的差别

    Array.new(5, [1, 2, 3]) or Array.new(5) { [1, 2, 3] } Array.new(size, default_object) creates an arr ...