高并发+海量数据下如何实现系统解耦?【中】

本文详细介绍了如何在高并发和海量数据背景下,通过引入消息中间件实现系统解耦。首先明确系统边界,然后利用消息中间件进行数据传输,实现削峰填谷,同时配合手动流量开关进行数据库运维操作。此外,消息中间件还支持多系统订阅数据,提高系统可扩展性。通过这些措施,成功解决了系统间的耦合问题,提升了架构的灵活性。
V-xin:ruyuanhadeng获得600+页原创精品文章汇总PDF

目录

一、前情提示

二、清晰划分系统边界

三、引入消息中间件解耦

四、利用消息中间件削峰填谷

五、手动流量开关配合数据库运维

六、支持多系统同时订阅数据

七、系统解耦后的感受

八、下集预告

一、前情提示

上一篇文章《高并发+海量数据下如何实现系统解耦?【上】》,给大家初步讲述了一套大规模复杂系统中,两个核心子系统之间一旦耦合,会发生哪些令人崩溃的场景。如果还没看上篇文章的,建议先看一下。

这篇文章,咱们就给大家来说一说通过MQ消息中间件的使用,如何重构系统之间的耦合,让系统具备高度的可扩展性。

首先来回看一下之前画的一张两个系统之间进行耦合的一个大图,从这个图里我们可以看到两个系统完全通过一套共享存储(数据库集群+缓存集群)进行了耦合。

在这里插入图片描述

二、清晰的划分系统边界

只要有耦合,一旦要解决耦合,那么第一个要干的事儿就是先划分清楚系统之间的边界。

比如上面那两套系统都共享了一套存储集群,那么大家可以先思考一下,两个系统之间的边界应该如何划分?也就是说,中间那套缓存集群和数据库集群,到底应该是属于哪个系统?

首先我们看一下,缓存集群和数据库集群主要是给谁用的?

很明显就是给数据查询平台用的,说白了,那两套集群都是数据查询平台赖以生存的核心底层数据存储,这里存储的数据也都是属于数据查询平台的核心数据。

对于实时计算平台来说,他只不过是将自己计算后的结果写入到缓存集群和数据库集群罢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值