微服务高可用方案
一、微服务的高可用
在注册中心、配置中心高可用方案之前,了解一下注册中心的工作原理,下面分为两个部分来解释,一是注册中心和各个微服务的注册表的获取与同步,二是注册中心如何去维护注册表。
1.1、注册表的获取与同步
Eureka Server和Eureka Client之间的关系,通过注册表来维护,而注册表的通过Eureka Server集中化管理,每个Client在本地进行注册表的缓存,通过周期性的任务拉取最新的注册表信息。简单的示例图如下。
根据上图所展示的流程,可以了解到注册中心与微服务之间的基本联系的流程:
1.服务A启动时,向Eureka Server注册自己的相关信息
2.当服务B向Eureka Server拉取最新的注册表时,就可以拿到服务A的一台机器注册信息
3.服务A的另外两台机器再去注册,服务B 30s后再次去拉取时,就会得到服务A的三台机器的注册信息
4.服务A、每30s向Eureka Server发送一次心跳信息,表明自己的注册信息还是有效的
以上是注册中心与微服务之间交互的大体流程,在具体的实践中,Eureka Server会提供多级缓存,其中的注册表的信息的获取与同步,又会有细微的差别。
1.Eureka Server的注册表直接基于纯内存,即在内存里维护了一个数据结构。
2.各个服务的注册、服务下线、服务故障,全部会在