使用SpringCloud搭建高可用服务注册中心
我们需要的,不仅仅是一个服务注册中心而已,而是一个高可用服务注册中心。
上篇博客中我们介绍了如何使用Spring Cloud搭建一个服务注册中心,但是搭建好的服务注册中心是一个单节点的服务注册中心,这样一旦发生了故障,那么整个服务就会瘫痪,所以我们需要一个高可用的服务注册中心,那么在Eureka中,我们通过集群来解决这个问题。Eureka Server的高可用实际上就是将自己作为服务向其他服务注册中心注册自己,这样就会形成一组互相注册的服务注册中心,进而实现服务清单的互相同步,达到高可用的效果。
OK,废话不多说,我们就来看看如何搭建高可用注册中心。
增加配置文件
在上篇博客中,我们创建了一个名叫eureka-server的服务注册中心,那么在本文中,我将修改这个工程的配置文件,进而将其启动多次。如下,我向这个工程中添加两个配置文件application-peer1.properties和application-peer2.properties:
两个配置文件的内容分别如下:

application-peer1.properties:
server.port=1111
eureka.instance.hostname=peer1
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.service-url.defaultZone=http://peer2:1112/eureka/
application-peer2.properties:
server.port=1112
eureka.instance.hostname=peer2
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.service-url.defaultZone=http://peer1:1111/eureka/
关于这两个配置文件我说如下几点:
1、在peer1的配置文件中,让它的service-url指向peer2,在peer2的配置文件中让它的service-url指向peer1
2、为了让peer1和peer2能够被正确的访问到,我们需要在C:\Windows\System32\drivers\etc目录下的hosts文件总添加两行配置,如下:
127.0.0.1 peer1
127.0.0.1 peer2
3、由于peer1和peer2互相指向对方,实际上我们构建了一个双节点的服务注册中心集群
生成jar文件
OK,这次我们不直接从IDEA中启动项目,而是先给工程生成jar文件,生成方式如下,双击package生成:

生成结果如下:

启动项目
生成jar文件之后,我们在命令行通过java命令来启动项目,在启动的时候我们可以设置采用不同的配置文件来启动项目,命令如下:
java -jar eureka-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1
java -jar eureka-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2
这两行命令表示我们分别采用application-peer1.properties和application-peer2.properties两个配置文件来启动应用,OK,执行完这两个命令之后,我们的服务注册中心就启动了两个了,效果图如下:


我们可以看到,在peer1的节点的DS replicas我们已经可以看到peer2节点了,在peer2的DS replicas中我们也可以看到peer1节点了。
OK,如此之后,我们的服务注册中心集群就搭建好了,然后我们可以做一个简单的测试。
测试
修改上篇博客中提到的provider项目的配置文件,如下:
spring.application.name=hello-service
eureka.client.service-url.defaultZone=http://peer1:1111/eureka,http://peer2:1112/eureka
小伙伴们注意,我们在service-url中添加了两个注册中心地址,两个地址中间用,隔开,OK,修改一下这里就可以了,接下来我们来启动这个项目,启动成功之后我们再去刷新http://localhost:1111和http://localhost:1112 两个页面,我们会发现我的服务提供者在这两个服务注册中心都注册了,如下:


OK,至此,一个高可用的服务注册中心我们就搭建成功了。
原文地址:
https://mp.weixin.qq.com/s/ie042Q_h8ppsroEjQ0bdgg
使用SpringCloud搭建高可用服务注册中心的更多相关文章
- 搭建高可用服务注册中心-Spring Cloud学习第一天(非原创)
文章大纲 一.Spring Cloud基础知识介绍二.创建单一的服务注册中心三.创建一个服务提供者四.搭建高可用服务注册中心五.项目源码与参考资料下载六.参考文章 一.Spring Cloud基础 ...
- 使用Spring Cloud搭建高可用服务注册中心
我们需要的,不仅仅是一个服务注册中心而已,而是一个高可用服务注册中心. 上篇博客[使用Spring Cloud搭建服务注册中心]中我们介绍了如何使用Spring Cloud搭建一个服务注册中心,但是搭 ...
- spring cloud 入门系列三:使用Eureka 搭建高可用服务注册中心
在上一篇中分享了如何使用Eureka 进行服务治理,里面搭建的服务注册中心是单体的, 但是在实际的应用中,分布式系统为了防止单体服务宕机带来严重后果,一般都会采用服务器集群的形式,服务注册中心也是一样 ...
- SpringCloud的服务注册中心(四)- 高可用服务注册中心的搭建
一.双 服务注册注册中心 1.服务注册中心的服务端 - EurekaServer 1.1.EurekaServer1 String.application.name=eureka-server ser ...
- SpringCloud学习成长之 十 高可用服务注册中心
文章 第一篇: 服务的注册与发现(Eureka) 介绍了服务注册与发现,其中服务注册中心Eureka Server,是一个实例,当成千上万个服务向它注册的时候,它的负载是非常高的,这在生产环境上是不太 ...
- springboot+cloud 学习(一)高可用服务注册中心(Eureka)
先说说Eureka Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的.SpringClo ...
- 服务注册发现Eureka之二:高可用服务注册中心
前言 在Spring Cloud系列文章的开始,我们就介绍了服务注册与发现,其中,主要演示了如何构建和启动服务注册中心Eureka Server,以及如何将服务注册到Eureka Server中,但是 ...
- Spring Cloud Eureka 4 (高可用服务注册中心)
在微服务这样的分布式环境中,我们需要充分考虑发生故障的情况,所以在生产环境中必须考虑对各个组件进行高可用部署,对于服务注册中心也是一样. Eureka Server 的高可用实际上就是讲自己作为服务向 ...
- Spring Cloud第三篇 | 搭建高可用Eureka注册中心
本文是Spring Cloud专栏的第三篇文章,了解前两篇文章内容有助于更好的理解后面文章: Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览 Spring ...
随机推荐
- Vivado绑定外部verilog编辑器
前言 由于Vivado自带的verilog编辑器确实难用,写起来效率不高,因而寻找到了以下教程. 解决方案 引用sublime作为vivado外部verilog编辑器 sublime text中文编码 ...
- Final版本发布评论
1.飞天小女警组做的礼物挑选小工具,相比较beta版本并没有太大的改动,新增添了“猜你喜欢”模块,在最后给出的礼物推荐下面会给出三个猜你喜欢的礼物.这样解决了推荐礼物的单一,也让礼物推荐变得更有趣了. ...
- [知乎]关于WindowsXPx64SP2系统的说明
自己简单安装了下发现 winxpsp3x86的系统版本为: 然后windowsXPx64sp2的版本为: 作者:qpi667链接:https://www.zhihu.com/question/29 ...
- [From WIKI] IBM Z
IBM zEnterprise System From Wikipedia, the free encyclopedia Jump to navigationJump to search Hi ...
- java自定义注解学习(一)_demo小练习
自定义注解 现在大家开发过程中,经常会用到注解. 比如@Controller 等等,但是有时候也会碰到自定义注解,在开发中公司的记录日志就用到了自定义注解.身为渣渣猿还是有必要学习下自定义注解的. 这 ...
- Hbase之JavaAPI连接池
源码: package HbaseOperation; import com.alibaba.fastjson.JSON; import org.apache.hadoop.conf.Configur ...
- wordpress WP-PageNavi分页
1.安装WP-PageNavi分页插件: 这个就没什么好介绍直接安装插件. 2.在需要分页的页面按下面的方式加上相应代码: 插入的位置在以 <?php if (have_posts()) : ? ...
- 04.基于IDEA+Spring+Maven搭建测试项目--application-context.xml配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- 安装配置ubuntu的web项目(新)
1.下载jre wget -c javadl.oracle.com/webapps/download/AutoDL?BundleId=211989 -O jre-8u101-linux-i586.ta ...
- The Super Powers UVA - 11752(合数幂)
题意: 求1~2^64-1之间所有的 至少是两个不同的正整数的幂的数 升序输出 一个数的合数次幂即为这样的数 找出1~2^64-1中所有数的合数次幂 用set存起来(既能防止重复 又能升序) 最后输 ...