Spring Cloud Eureka Server高可用(主备部署模式)

       接到师父安排的任务:微服务项目部署增加主备模式。有点慌,主备部署,是什么?

       主备部署,就是字面意思,有主机,还有备用机。平常工作就是在主机上,备用机默默在背后同步主机的数据,时刻待命。再研究这个Eureka的主备,其实就是Eureka Server的高可用。在生产环境中,如果是单节点的部署模式,万一Eureka Server宕机,很可能影响其他服务之间的调用,严重影响整个系统的可用性,所以一般常常部署一个高可用的Eureka Server的集群。

       Eureka Server可以通过运行多个实例并相互注册的方式实现高可用部署。        

       利用IDEA如何搭建呢?

       1.新建一个SpringBoot项目

       比较快捷的方式就是利用start.spring.io直接建一个eureka server的框架,但是这个网址常常访问过慢,或者压根儿就访问不到,那就只能自己建个maven项目,然后再在pom文件里配置了。

        2.配置     

       a. 默认的配置文件application.properties内容如下:

server.port=1111

eureka.instance.hostname=localhost
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/

       其中 ,eureka.client.register-with-eureka和eureka.client.fetch-registry两个参数设置成true的时候,表示让服务注册中心注册自己。

         b.新建application-peer1.properties和application-peer2.properties文件

            application-peer1.properties文件内容如下:

spring.application.name=eurekaServer
server.port=1111

eureka.instance.hostname=peer1
eureka.client.serviceUrl.defaultZone=http://peer2:1112/eureka/

            application-peer2.properties文件内容如下:

spring.application.name=eurekaServer
server.port=1112

eureka.instance.hostname=peer2
eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/

      spring.application.name用于指定注册到Eureka Server上的应用名称;

       eureka.client.serviceUrl.defaultZone用于指定服务注册中心的地址。

      c. 本机hosts文件(C:\Windows\System32\drivers\etc\hosts)里添加对peer1和peer2的转换,让上面配置的host形式的serviceUrl能在本地正确访问到:

 127.0.0.1 peer1
 127.0.0.1 peer2
 

        3. 运行(同时运行两个节点peer1和peer2)

        a.在IDEA中的实现方式

        点击IDEA右上角启动的工具栏,选择Edit Configuration。

        在Run/Debug Configuration界面上点击+,选择spring boot,分别再新建两个application,配置如下面几张图。其中,Active profiles设置分别为peer1和peer2,这是根据两个配置文件的后缀名写的。项目一旦启动,就是根据active属性的值去寻找对应的后缀名的配置文件。   

      启动peer1和peer2两个application。

     

       可以看到两个节点已经成功相互注册了,不仅如此,他们还各自注册了自己。

       b.使用批处理文件启动两个节点

       在项目jar包路径下,一般是target的下,新建一个txt文档,通过spring.profiles.active属性来分别启动peer1和peer2。txt文档内容如下:

@echo off
start java -jar eurekaserver-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1

@echo off
start java -jar eurekaserver-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2

        然后强制更改文件扩展名为.bat。

        点击运行该批处理文件,可以看到同时启动了两个窗口。在浏览器中输入地址,也会出现上面展示的两个节点相互注册的eureka界面。

        日ji。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值