在微服务这样的分布式环境中,我们需要充分考虑发生故障的情况,所以在生产环境中必须考虑对各个组件进行高可用部署,对于服务注册中心也是一样。
Eureka Server 的高可用实际上就是讲自己作为服务向其他注册中心注册自己,这样就可以实现一组互相注册的注册中心以实现服务清单是相互同步,达到高可用的效果。
创建新的项目eureka-cluster和eureka-cluster2
项目创建参考上文服务注册中心的搭建
http://www.cnblogs.com/HanShisi/p/8319856.html
这里不在赘述
不同的地方在于application.properties文件的配置上
eureka-cluster的配置如下:
spring.application.name=eureka-server
server.port=1111
eureka.instance.hostname=peer1
eureka.client.serviceUrl.defaultZone=http://peer2:1112/eureka
eureka-cluster2的配置如下:
spring.application.name=eureka-server
server.port=1112
eureka.instance.hostname=peer2
eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka
注:
在 C:WindowsSystem32driversetchosts的文件加入如下配置
127.0.0.1 peer1
127.0.0.1 peer2
同时我们将服务提供方即上述http://www.cnblogs.com/HanShisi/p/8320022.html hello-service中的服务配置稍作修改
# 服务名称,注册中心以此来标示服务
spring.application.name=hello-service
# 指定注册中心
eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/,http://peer2:1112/eureka
上述主要对eureka.client.serviceUrl.defaultZone的值做了修改将此服务分别注册到peer1和peer2中
分别启动eureka-cluster、eureka-cluster2和hello-service
分别通过
http://peer1:1111/
http://peer2:1112/
访问注册中心
至此一个简单服务注册中心集群就搭建完成了。