V-xin:ruyuanhadeng获得600+页原创精品文章汇总PDF
目录
- 一、前情提示
- 二、选择性订阅部分核心数据
- 三、RabbitMQ的queue与exchange的绑定回顾
- 四、direct exchange实现消息路由
- 五、按需订阅数的代码实现
- 六、更加强大而且灵活的按需订阅
一、前情提示
上一篇文章《教你面试的时候如何迅速完成90%以上的海量数据处理题》,我们已经给出了一整套的数据一致性的保障方案。
我们从如下三个角度,给出了方案如何实现。并且通过数据平台和电商系统进行了举例分析。
- 核心数据的监控
- 数据链路追踪
- 自动化数据链路分析
目前为止,我们的架构图大概如下所示:
并且咱们之前对于这种架构下,如何基于MQ进行解耦的实现也做了详细的说明。
有不清楚的同学,可以具体看一下之前的三篇文章:
- 高并发+海量数据下如何实现系统解耦?【上】
- 高并发+海量数据下如何实现系统解耦?【中】
- 高并发+海量数据下如何实现系统解耦?【下】
那么这篇文章,我们就基于这个架构,在数据一致性方面做进一步的说明。同样,我们以RabbitMQ这个消息中间件来举例。
二、选择性的订阅部分核心数据
首先一个基于MQ实现的细节点就在于,比如对数据监控系统而言,他可能仅仅只是要从MQ里订阅部分数据来消费罢了。
这个是啥意思呢?因为比如实时计算平台他是会将自己计算出来的所有的数据指标都投递到MQ里去的。
但是这些数据指标可能是多达几十个甚至是几百个的,这里面不可能所有数据指标都是核心数据吧?
基本上按照我们过往经验而言,对于这种数据类的系统核心数据指标,大概就占到10%左右的比例而已。
然后对于数据查询平台而言,他可能是需要把所有的数据指标都消费