当前位置:首页 > Java技术 > SpringCloud(三)Eureka注册中心实现高可用

SpringCloud(三)Eureka注册中心实现高可用

2022年11月09日 17:23:05Java技术6

前言:

spring-cloud为基础的微服务架构,所有的微服务都需要注册到注册中心,如果这个注册中心阻塞或者崩了,那么整个系统都无法继续正常提供服务,所以,这里就需要对注册中心进行集群,换言之,高可用(HA)

前提:

阅读并完成第一个注册中心的项目,环境无需改变。本文是模拟的高可用可以复制两个注册中心的项目单独修改各自的配置文件达到同样的效果

修改hosts,在文件末添加两行如下:

127.0.0.1 peer1
127.0.0.1 peer2

推荐使用notepad++,如果是win10会提醒提权限,确定,然后保存即可。

项目搭建:

打开注册中心的项目,在src/resources下创建一个application-peer1.properties

#应用名
spring.application.name=eureka-server
#提供服务端口1111
server.port=1111
#提供服务的域名,这里在hosts文件中修改了
eureka.instance.hostname=peer1
#向第二个注册中心注册自己
eureka.client.service-url.defaultZone=http://peer2:1112/eureka/

在src/resources下创建一个application-peer2.properties

#应用名称与第一个注册中心一样
spring.application.name=eureka-server
#提供服务端口1112
server.port=1112
#提供服务的域名,这里在hosts文件中修改了
eureka.instance.hostname=peer2
#向第一个注册中心注册自己
eureka.client.service-url.defaultZone=http://peer1:1111/eureka/

本文使用idea进行测试,首先需要对这个项目进行打成jar包,因为在pom.xml中已经引入了maven编译工具和打包工具并指定打包格式为jar包,这里直接操作,屏幕右上方

SpringCloud(三)Eureka注册中心实现高可用 _ JavaClub全栈架构师技术笔记

SpringCloud(三)Eureka注册中心实现高可用 _ JavaClub全栈架构师技术笔记 

打包完成,该jar包位于target文件夹下,如图

SpringCloud(三)Eureka注册中心实现高可用 _ JavaClub全栈架构师技术笔记

 

 如图打开terminal,屏幕下方

SpringCloud(三)Eureka注册中心实现高可用 _ JavaClub全栈架构师技术笔记

打开terminal之后,因为jar包在target目录下,而当前目录为项目目录,所以先cd到target目录下,然后输入如下命令:

小技巧:输入命令的时候为了防止输错文件名,可以输入文件名的前几个字母,然后使用tab键进行自动补全

java -jar EurekaServerDemo-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1

输入完成此命令后,peer1配置文件的项目启动,如图

SpringCloud(三)Eureka注册中心实现高可用 _ JavaClub全栈架构师技术笔记

 

接下来我们启动第二个项目,这里需要另开一个terminal,cd到target目录

注意:我们这里用的是同一个项目,读者可以使用两个项目进行测试,需要特别注意的是端口不要冲突了

 SpringCloud(三)Eureka注册中心实现高可用 _ JavaClub全栈架构师技术笔记

java -jar EurekaServerDemo-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2

 SpringCloud(三)Eureka注册中心实现高可用 _ JavaClub全栈架构师技术笔记

等待项目启动完成,查看有无报错。

测试

浏览器输入:localhost:1112进行查看,也可以输入localhost:1111进行查看

SpringCloud(三)Eureka注册中心实现高可用 _ JavaClub全栈架构师技术笔记

 

结语

在设置了多节点的注册中心后,实现了高可用,但是此时我们的微服务应用仅仅是注册到这一个服务之中,所以,我们需要将新节点的注册服务路径同样配到微服务应用中。

多节点间使用","分开,如图

SpringCloud(三)Eureka注册中心实现高可用 _ JavaClub全栈架构师技术笔记

 

这样微服务提供者从其中一个地方断开之后,因为在其他节点有注册,所以还可以提供服务,如果不想使用主机名进行访问注册中心,也可以使用ip,但是需要先添加一条配置,该值默认false

eureka.instance.prefer-ip-address=true

 

 本文为作者实际操作记录,如需转载请注明出处

作者:东北小狐狸
来源链接:https://www.cnblogs.com/hellxz/p/8855166.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/java/68910.html

分享给朋友:

“SpringCloud(三)Eureka注册中心实现高可用” 的相关文章

Spring Cloud Alibaba与Spring Boot、Spring Cloud版本对应关系

Spring Cloud Alibaba与Spring Boot、Spring Cloud版本对应关系

一、前言 在搭建SpringCloud项目环境架构的时候,需要选择SpringBoot和SpringCloud进行兼容的版本号,因此对于选择SpringBoot版本与SpringCloud版本的对应关系很重要,如果版本关系不对应,常见的会遇见项目启...

Spring Boot 2.0 WebFlux 上手系列课程:快速入门(一)

Spring Boot 2.0 WebFlux 上手系列课程:快速入门(一)

代码示例 本文示例读者可以通过查看下面仓库的中的 alibaba/java/ParentClass.java : Github:https://github.com/JeffLi1993/java-core-learning-exam...

SpringCloud实战|8.SpringCloud 整合 seata1.3

SpringCloud实战|8.SpringCloud 整合 seata1.3

手把手教你从0开始搭建spring cloud alibaba 脚手架,关注公众号“AI码师” 获取项目完整源码 前言 本篇文章介绍了如何在Spring Cloud项目中引入seata,以及seata的安装过程 开整...

Spring Boot 2.x :通过 spring

Spring Boot 2.x :通过 spring

摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! 本文内容 HBase 简介和应用场景 spring-boot-starter-hbase 开源简介 集成 HB...

深入浅出 spring-data-elasticsearch

『  风云说:能分享自己职位的知识的领导是个好领导。 』 运行环境 :JDK 7 或 8,Maven 3.0+ 技术栈 :SpringBoot 1.5+, Spring Data Elasticsearch 1.5+ ,Elast...

Spring Cloud 学习推荐

学习 Spring Boot Spring tutorials | Java Web Development, Spring Cloud Programming tutorials Spring Boot为您提供了Spring Framewo...

SpringBoot整合MybatisPlus 实现多租户

SpringBoot整合MybatisPlus 实现多租户

代码已经上传到码云:https://gitee.com/lezaiclub/springboot-hyper-integration.git,欢迎白嫖 引言 今天我们来聊聊多组户 其实多租户主要讲的是数据隔离,即每个企业或用户都享有自己的独立...

[CXF REST标准实战系列] 二、Spring4.0 整合 CXF3.0,实现测试接口

[CXF REST标准实战系列] 二、Spring4.0 整合 CXF3.0,实现测试接口

Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket Reprint it anywhere u want. 文章Points: 1、介绍RESTful架构风格 2、Sprin...

org.springframework.beans.factory.BeanCreationException

错误:org.springframework.beans.factory.BeanCreationException: Error creating bean with name '/company/list': Injection of resource fields failed;...

spring boot随笔二

spring boot随笔二

pring Boot与日志(日志框架、日志配置) 1、市面上的日志框架JUL、JCL、Jboss-logging、logback、log4、log4j2、slf4j……    ...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。