SpringCloud实现高可用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringCloud实现高可用相关的知识,希望对你有一定的参考价值。

参考技术A 在微服务架构这样的分布式环境中,我们需要充分考虑发生故障的情况,所以在生产环境中华必须对各个组件进行高可用部署,对于微服务如此,对于注册中心也一样。我们需要构建高可用的注册中心以增强系统的可用性。

Eureka Server的设计一开始就考虑了高可用的问题,在Eureka的服务设计中, 所有节点即是服务提供方,也是服务消费方,服务注册中心也不例外。是否还记得在单节点的配置中,我们设置过下面的这两个参数,让注册中心不注册自己:

Eureka Server的高可用实际上就是将自己作为服务向其他服务注册中心注册自己,这样就可以形成一组相互注册的服务注册中心,以实现服务清单的相互同步,达到高可用的效果。

在Eureka Server这个服务的项目中,新建两个配置文件:
application-peer1.properties

application-peer1.properties

在启动注册中心之前,首先需要加入Maven的插件

然后进行打包:mvn install
之后切换到target目录下,通过spring.profiles.active属性分别启动peer1和peer2:

启动成功,在控制台中可以看到以下输出:

此时访问peer1的注册中心:peer1:1111/,如下图所示,我们可以看到registered-replicas中已经有peer2结点的eureka-server了,同样的我们在peer2中也可看到peer1的服务。

在设置了多结点的服务注册中心之后,服务提供方还需要做一些简单的配置才能将服务注册到Eureka Server集群中,我们以hello-service为例,修改application.properties配置文件,如下所示:

上面的配置主要对eureka.client.serviceUrl.defaultZone属性做了改动,将注册中心指向了peer1和peer2.
下面我们启动该服务,通过访问 http://localhost:1111/ 和 http://localhost:1112/ ,可以观察到hello-service服务同时被注册到了peer1和peer2上,

以上是关于SpringCloud实现高可用的主要内容,如果未能解决你的问题,请参考以下文章

SpringCloud教程七:Config(高可用分布式配置中心)

SpringCloud(Hoxton.SR3)基础篇:第三章Eureka集群 高可用的认证服务实现与搭建

SpringCloud系列四:实现Eureka Server的高可用并将应用注册到Eureka Sever集群上

springcloud-第一个神兽“Eureka”-高可用的搭建(2-1)

SpringCloud学习系列之一 ----- 搭建一个高可用的注册中心(Eureka)

SpringCloud 教程 高可用的服务注册中心