Spring Cloud(Dalston.SR5)--Eureka 注册中心高可用搭建
高可用集群
在微服务架构这样的分布式环境中,我们需要充分考虑发生故障的情况,所以在生产环境中必须对各个组件进行高可用部署,对与微服务和服务注册中心都需要高可用部署,Eureka 高可用实际上就是将自己作为服务向其他服务注册中心注册自己,这样就可以形成一组互相注册的服务注册中心,已实现服务清单的互相同步,达到高可用效果,注册中心的高可用至少需要2台服务器分别部署 Eureka 注册中心,集群结构如下:

准备工作
|
Eureka Server01 |
Eureka Server02 |
|
|
操作系统 |
CentOS 7 |
CentOS 7 |
|
IP |
192.168.2.214 |
192.168.2.215 |
|
机器名称 |
server01.application.com |
server02.application.com |
|
hosts |
192.168.2.214 eurekaserver01 192.168.2.215 eurekaserver02 |
192.168.2.214 eurekaserver01 192.168.2.215 eurekaserver02 |
Eureka 注册中心配置
在之前的单机注册中心的基础上调整配置,创建二个 profiles 分别表示 eureka server01 和 eureka server02 服务器的配置,用于在不同机器上使用不同的配置,修改 application.yml 配置如下:
#配置应用名称
spring:
application:
name:eureka-server01
#设置profiles的名称,在启动程序时指定会使用指定的配置
profiles:eurekaserver01
#配置服务端口
server:
#eureka基本配置
eureka:
instance:
#配置应用名称,优先级低于spring.applicaton.name
appname:eureka-server01
#配置eureka实例主机名称,默认为主机名称
hostname:eurekaserver01
client:
#是否到eureka服务器中抓取注册信息,用于高可用
fetch-registry:true
#是否将自己信息注册到Eureka服务器,用于高可用
register-with-eureka:true
#配置服务注册中心地址
service-url:
defaultZone:http://eurekaserver02:${server.port}/eureka
---
#配置应用名称
spring:
application:
name:eureka-server02
#设置profiles的名称,在启动程序时指定会使用指定的配置
profiles:eurekaserver02
#配置服务端口
server:
#eureka基本配置
eureka:
instance:
#配置应用名称,优先级低于spring.applicaton.name
appname:eureka-server02
#配置eureka实例主机名称,默认为主机名称
hostname:eurekaserver02
client:
#是否到eureka服务器中抓取注册信息,用于高可用
fetch-registry:true
#是否将自己信息注册到Eureka服务器,用于高可用
register-with-eureka:true
#配置服务注册中心地址
service-url:
defaultZone:http://eurekaserver01:${server.port}/eureka
在配置中我们可以看到,eurekaserver01 的 service-url.defaultZone 的Url 是指向到 eurekaserver02 服务器的,而 eurekaserver02 的 service-url.defaultZone 的 Url 是指向到 eurekaserver01 服务器的,简单的说,就是二个服务器启动后,会互相注册
Eureka 注册中心启动
注册中心启动可以使用两种方案,在运行 jar 文件时通过参数设置 --spring.profiles.active 来设置使用那个 profiles,也可以调整启动类,通过接收输入来使用 profiles,示例如下:
- 使用参数
$> java -jar eureka-server.1.0 --spring.profiles.active=eurekaserver01
$> java -jar eureka-server.1.0 --spring.profiles.active=eurekaserver02
- 启动类获取输入
@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication{
public static void main(String[]args){
Scanner scanner=new Scanner(System.in);
String profile=scanner.nextLine();
new SpringApplicationBuilder(EurekaServerApplication.class).profiles(profile).run(args);
}
}
访问 Eureka 服务
访问地址 http://192.168.2.214:9000 和 http://192.168.2.215:9000 可以看到,DS Replicas 中有另一台Eureka 注册中心,在 instance currently registered with Eureka 中显示了注册的 Eureka 注册中心。

Spring Cloud(Dalston.SR5)--Eureka 注册中心高可用搭建的更多相关文章
- Spring Cloud(Dalston.SR5)--Eureka 注册中心高可用-服务提供和消费
由于 Eureka 注册中心只是在内存中保存服务注册实例,并且没有将服务注册实例进行同步,因此我们需要对服务提供和消费进行调整,需要指定服务提供和消费的注册.服务发现的具体Eureka 注册中心配置, ...
- Spring Cloud(Dalston.SR5)--Eureka 注册中心搭建
基于 Netflix Eureka 做了二次封装,主要负责完成微服务架构中的服务治理功能,服务治理可以说是微服务架构中最为核心和基础的模块,他主要用来实现各个微服务实例的自动化注册与发现 服务注册:在 ...
- Eureka注册中心高可用及常用配置项
一.前言 前面已经简单的介绍了 Eureka 注册中心的使用以及查看.下面将继续进行 Eureka 的说明以及应用. 二.Eureka 的高可用搭建 在实际生产项目中,为了保证服务的可用性,连续性,一 ...
- Spring Cloud(Dalston.SR5)--Eureka 服务提供者
要使微服务应用向注册中心发布自己,首先需要在 pom.xml 配置文件中增加对 spring-boot-starter-eureka 的依赖,然后在主类中增加 @EnableDiscoveryClie ...
- Spring Cloud(Dalston.SR5)--Eureka 服务消费
服务被注册.发布到 Eureka 服务器后,需要有程序去发现他,并且进行调用,称为服务消费,一个服务可能会部署多个实例,调用过程可能涉及负载均衡.服务器查找等问题,这些问题 Netflix 项目已经帮 ...
- Eureka注册中心高可用集群配置
Eureka高可用集群配置 当注册中心扛不住高并发的时候,这时候 要用集群来扛: 我们再新建两个module microservice-eureka-server-2002 microservic ...
- springCloud 之 Eureka注册中心高可用配置
springCloud的eureka高可用配置方案思路是:几个服务中心之间相互注册,比如两个注册中心,A注册到B上,B注册到A上,如果是三个注册中心则是:A注册到BC上,B注册到AC上,C注册到AB上 ...
- Spring Cloud Eureka 注册中心高可用机制
一.Eureka 正常工作流程 Service 服务作为 Eureka Client 客户端需要在启动的时候就要向 Eureka Server 注册中心进行注册,并获取最新的服务列表数据. Eurek ...
- Spring Cloud(Dalston.SR5)--Eureka 常用配置
配置参数 默认值 说明 服务注册中心配置 Bean类:org.springframework.cloud.netflix.eureka.server.EurekaServerConfigBean eu ...
随机推荐
- 【Python】数字驱动
#练习1:打开3个网址,每个等3秒钟 urls.txt: http://www.baidu.com http://www.sogou.com http://www.sohu.com main.py: ...
- SAP ABAP: Error Message "Statement already exist" when creating a function module.
https://archive.sap.com/discussions/thread/1089149 First check above link where my problem is so ...
- 2.14 加载Firefox配置
2.14 加载Firefox配置(略,已在2.1.8讲过,请查阅2.1.8节课) 回到顶部 2.14-1 加载Chrome配置 一.加载Chrome配置chrome加载配置方法,只需改下面一个地方,u ...
- 普通new和placement new的重载
对于自定义对象,我们可以重载普通new操作符,这时候使用new Test()时就会调用到我们重载的普通new操作符. 示例程序: #include <iostream> #include ...
- Unity 3D光源-Directional平行光/逆光效果,光晕详解、教程
Unity4大光源之平行光 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享. ...
- select标签(下拉菜单和列表)
下拉菜单和列表标签: <select> <option value="..." >选项</option> <option value=&q ...
- xdoj-1243 (费马平方和问题)
1243: CKJ老师爱数学 时间限制: 1 Sec 内存限制: 128 MB提交: 56 解决: 13[提交][状态][讨论版] 题目描述 众所周知,CKJ老师非常热爱数学,他对于方程组的有自己 ...
- Structural Features for Predicting the Linguistic Quality of Text: Applications to Machine Translation, Automatic Summarization and Human-Authored Text -paper
abstract句子结构是文本语言质量的关键,我们记录了以下实验结果:句法短语统计和其他结构特征对文本方面的预测能力.手工评估的句子fluency流利度用于机器翻译评估和文本摘要质量的评估是黄金准则. ...
- css实现两栏布局,左侧固定宽,右侧自适应的7中方法
一个面试会问的问题,如何实现两个盒子,左侧固定宽度,右侧自适应. 1.利用 calc 计算宽度的方法 css代码如下: .box{overflow: hidden;height: 100px;marg ...
- Linux下mysql出错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
安装: 1.新开的云服务器,需要检测系统是否自带安装mysql # yum list installed | grep mysql 2.如果发现有系统自带mysql,果断这么干 # yum -y re ...