【Spring Cloud】--注册中心Eureka的高可用配置

http://blog.csdn.net/wangpengzhi19891223/article/details/78840646中,实现了spring cloud的三个核心–注册中心、服务提供者、服务消费者的简单Dome,本文将重点关注spring cloud注册中心Eureka的高可用配置。

在上文简单的Dome中,如果关闭注册中心,则整个链条断掉,显然不能满足高可用的需求,在生产环境中,注册中心随时可能因为各种原因挂掉,自然注册中心要满足高可用的设计目标。当然Eureka也实现了高可用。 简单的一句话概述Eureka的高可用就是:相互注册、相互备份。

来看例子: 上上文实现的Eureka中,增加两个配置文件在resource下:application-peer1.properties,application-peer2.properties: 现在工程目录:
这里写图片描述

application-peer1.properties

server.port = 1111
eureka.instance.hostname=peer1
spring.application.name=eureka-server
eureka.client.service-url.defaultZone=http://peer2:1112/eureka/

application-peer2.properties

server.port = 1112
eureka.instance.hostname=peer2
spring.application.name=eureka-server
eureka.client.service-url.defaultZone=http://peer1:1111/eureka/

第二步:修改host文件,增加pee1、peer2, 指向本机127.0.0.1

127.0.0.1 peer1
127.0.0.1 peer2

host文件路径,不知道的请百度。

第三步,用maven对项目进行打包,打包之后打开target目录:
这里写图片描述

打开两个cmd命令行工具,分别执行:

java -jar spring-cloud-register-1.0-SNAPSHOT.jar --spring.profiles.active=peer1
java -jar spring-cloud-register-1.0-SNAPSHOT.jar --spring.profiles.active=peer2

分别访问:

http://peer1:1111/
http://peer2:1112/

会看到如下的界面:
这里写图片描述

访问peer1,可以看到peer2的注册信息。 同样访问peer2也能看到peer1。 这样就完成了相互备份的高可用配置。


同样,我们对上文中的service进行打包,用命令启动两个实例:

打包启动前,要修改application.properties文件,增加注册中心配置:

eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/,http://peer2:1112/eureka/

启动两个service实例:

java -jar spring-eureka-server-1.0-SNAPSHOT.jar --server.port = 8081
java -jar spring-eureka-server-1.0-SNAPSHOT.jar --server.port = 8082

启动之后,观察注册中心,可以发现,这两个实例,都注册在两个注册中心上了。

在访问服务的时候,只要有一个注册中心处于可用状态,整个服务就是可用的。

猜你喜欢

转载自blog.csdn.net/wangpengzhi19891223/article/details/78902247