Spring-Cloud Eureka注册中心实现高可用搭建
前言:
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包,这里直接操作,屏幕右上方
打包完成,该jar包位于target文件夹下,如图
如图打开terminal,屏幕下方
打开terminal之后,因为jar包在target目录下,而当前目录为项目目录,所以先cd到target目录下,然后输入如下命令:
小技巧:输入命令的时候为了防止输错文件名,可以输入文件名的前几个字母,然后使用tab键进行自动补全
复制代码 代码如下: java -jar EurekaServerDemo-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1输入完成此命令后,peer1配置文件的项目启动,如图
接下来我们启动第二个项目,这里需要另开一个terminal,cd到target目录
注意:我们这里用的是同一个项目,读者可以使用两个项目进行测试,需要特别注意的是端口不要冲突了
复制代码 代码如下: java -jar EurekaServerDemo-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2
等待项目启动完成,查看有无报错。
测试:
浏览器输入:localhost:1112进行查看,也可以输入localhost:1111进行查看
结语:
在设置了多节点的注册中心后,实现了高可用,但是此时我们的微服务应用仅仅是注册到这一个服务之中,所以,我们需要将新节点的注册服务路径同样配到微服务应用中。
多节点间使用","分开,如图
这样微服务提供者从其中一个地方断开之后,因为在其他节点有注册,所以还可以提供服务,如果不想使用主机名进行访问注册中心,也可以使用ip,但是需要先添加一条配置,该值默认false
eureka.instance.prefer-ip-address=true
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- SpringCloud 笔记 (一)---- 简单搭建服务注册中心与服务,实现服务注册中心高可用
- Spring学习之SpringMVC框架快速搭建实现用户登录功能
- 使用SSM框架搭建Web服务器实现登录功能(Spring+SpringMVC+Mybatis)
- 使用SSM框架搭建Web服务器实现登录功能(Spring+SpringMVC+Mybatis)
- CentOS6.2下搭建LVS(DR)+Keepalived实现高性能高可用负载均衡服务器
- Myeclipse下使用Maven搭建spring boot项目采用spring boot devtools实现热部署
- redis sentinel高可用搭建测试(Windows下实现)
- Nginx+Tomcat搭建集群,Spring Session+Redis实现Session共享
- Spring学习之SpringMVC框架快速搭建实现用户登录功能
- CentOS6.2下搭建LVS(NAT)+Keepalived实现高性能高可用负载均衡服务器
- springboot+thymeleaf 实现thymeleaf自定义方言系统 自定义标签, cms系统搭建(一)
- 用tomcat+apacheServer+spring搭建一个集群,实现简单的负载均衡
- Maven + Spring MVC+Mybatis + MySQL +AngularJS + Bootstrap 实现简单微博应用(一)环境搭建
- SSM框架搭建(Spring+SpringMVC+MyBatis)与easyui集成并实现增删改查实现
- 13、Spring技术栈-整合dubbo、zookeeper实现高可用分布式微服务实战
- 基于Exchange 2003搭建高可用的邮件平台 之三: 前端服务器实现NLB
- 使用SSM框架搭建Web服务器实现登录功能(Spring+SpringMVC+Mybatis)
- 虚拟化动手实验之高可用实现:实验搭建(四)
- eclipse搭建简单springboot-mybatis项目实现页面简单跳转
- 完整使用SSM框架(Spring SpringMVC Mybatis)搭建web服务器实现登录功能