转载

SpringCloud微服务系列(3): 为已有的Eureka Server增加高可用HA

SpringCloud微服务系列(3):  为已有的Eureka Server增加高可用HA

作者:家辉,日期:2017-08-01 CSDN博客: http://blog.csdn.net/gobitan

摘要: 在本系列的前两篇先后创建了一个Eureka微服务注册中心和一个hello服务,该服务注册到了Eureka Server。但一个注册中心会存在单点故障,如果服务注册中心挂了,系统就找不到服务。本文为注册中心增加高可用功能。

第一步:准备两台Eureka高可用测试机

先准备两台主机,可用Ubuntu或者CentOS,将它们配置在一个网段(可用虚拟机),这里用CentOS7.3。假设它们的IP地址分别为10.191.30.24和10.191.30.25.

将/etc/hostname分别改为eureka1和eureka2,改完需要重启操作系统。

在/etc/hosts中加入如下配置:

10.191.30.24 eureka1
10.191.30.25 eureka2

第二步:配置高可用Eureka Server

在原有Eureka Server基础上增加两个application.properties配置文件,分别如下:

[1] application-eureka1.properties

spring.application=eureka-server
server.port=1111
eureka.instance.hostname=eureka1
eureka.client.serviceUrl.defaultZone=http://eureka2:1112/eureka

[2] application-eureka2.properties

spring.application=eureka-server
server.port=1112
eureka.instance.hostname=eureka2
eureka.client.serviceUrl.defaultZone=http://eureka1:1111/eureka

说明:

(1) eureka server1的监听端口为1111,eureka server2的监听端口为1112;

(2) 它们各自的serviceUrl指向对方;

第三步:启动eureka1和eureka2

[1] 在主机eureka1启动

java -jar eurekaserver-0.0.1-SNAPSHOT.jar --spring.profiles.active=eureka1

[2] 在主机eureka2启动

java -jar eurekaserver-0.0.1-SNAPSHOT.jar --spring.profiles.active=eureka2

启动之后,登录http://10.191.30.24:1111/和http://10.191.30.25:1112/可以分别在DS Replicas看到注册的eureka2和eureka1.

SpringCloud微服务系列(3): 为已有的Eureka Server增加高可用HA

SpringCloud微服务系列(3): 为已有的Eureka Server增加高可用HA

第四步:修改之前建立好的RESTFul服务

修改springboot hello service的application.properties配置文件

spring.application.name=hello-service
eureka.client.serviceUrl.defaultZone=http://eureka1:1111/eureka,http://eureka2:1112/eureka

如果配置用IP地址,需要添加参数eureka.instance.prefer-ip-address=true。

第五步:启动hello-service的RESTFul服务

注意:下面的这台主机的/etc/hosts中需要加入如下部分,否则会不认识上面application.properties中配置的主机名。

10.191.30.24 eureka1
10.191.30.25 eureka2

在另外一台主机(如:10.191.30.23)执行如下命令启动服务:

java -jar springboot-0.0.1-SNAPSHOT.jar

查看注册情况,可看到两台eureka server都注册了hello-servcie,如下所示:

SpringCloud微服务系列(3): 为已有的Eureka Server增加高可用HA

SpringCloud微服务系列(3): 为已有的Eureka Server增加高可用HA

一个服务(如hello-service)同时在两个注册中心注册成功,这样确保注册中心的高可用。另外,经过测试,注册中心重启后,服务也会自动重新注册进来。

参考资料:

[1]  http://start.spring.io/

[2]  http://projects.spring.io/spring-cloud/

原文  http://blog.csdn.net/gobitan/article/details/76548929
正文到此结束
Loading...