如何正确实现一个微服务高可用方案

本文详细解析了微服务中注册中心的高可用方案,包括注册表的获取与同步机制,Eureka Server的多级缓存策略,以及自我保护机制。还探讨了分布式注册中心的重要性,以及在压测中Eureka Server的承载能力。同时提到了配置中心的高可用解决方案,以及加入学习社区的邀请。

微服务高可用方案

一、微服务的高可用

在注册中心、配置中心高可用方案之前,了解一下注册中心的工作原理,下面分为两个部分来解释,一是注册中心和各个微服务的注册表的获取与同步,二是注册中心如何去维护注册表。

1.1、注册表的获取与同步

Eureka Server和Eureka Client之间的关系,通过注册表来维护,而注册表的通过Eureka Server集中化管理,每个Client在本地进行注册表的缓存,通过周期性的任务拉取最新的注册表信息。简单的示例图如下。

img

根据上图所展示的流程,可以了解到注册中心与微服务之间的基本联系的流程:

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.各个服务的注册、服务下线、服务故障,全部会在内存里维护和更新这个注册表。

3.各个服务每隔30秒拉取注册表的时候,Eureka Server就是直接提供内存里存储的有变化的注册表数据给他们就可以了。

4.同样,每隔30秒发起心跳时,也是在这个纯内存的Map数据结构里更新心跳时间。

Eureka Server的注册表是纯内存处理的,因此处理速度会很快,同时提供 readWrit

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值