V-xin:ruyuanhadeng获得600+页原创精品文章汇总PDF
目录
- 写在前面
- 划分系统边界
- 引入消息中间件解耦
- 利用消息中间件削峰填谷
- 手动流量开关配合数据库运维
- 支持多系统同时订阅数据
1、写在前面
本文咱们来聊聊如何通过 MQ 消息中间件的使用,重构系统之间的耦合,让系统具备高度的可扩展性。
首先看一张系统之间的耦合图,大家先不用关注图中数据查询平台和实时计算平台的具体细节。
只需知道这里的数据查询平台和实时计算平台两个系统,通过一套共享存储(数据库集群+缓存集群)进行了耦合。
2、划分系统边界
只要有耦合,一旦要解决耦合,那么第一个要干的事就是先划分清楚系统之间的边界。
比如上面那两套系统都共享了一套存储集群,大家先思考一下,两个系统之间的边界应该如何划分?
换句话说,中间那套缓存集群和数据库集群,应该属于哪个系统?要回答这个问题,主要就是考虑缓存集群和数据库集群主要是给谁用的?
答案显而易见,当然是给数据查询平台用的。
说白了,缓存集群和数据库集群都是数据查询平台赖以生存的核心底层数据存储,它们存储的数据也都是属于数据查询平台的核心数据。