场景:
公司是做社交电商的,一些业务场景会给用户发各种类型的收益,然后用户在app上可以看到自己的各种汇总收益及收益明细。 在项目运营初期,用户数少、收益明细少,所以用户在app获取收益汇总时不会有性能相关的问题。然后随着用户数量的增加,业务的扩展,用户收益数据越来越多,用户每次访问收益汇总信息时,实时的通过sql汇总查询会遇到性能问题。
解决方案:
A:离线汇总+缓存
B:汇总表+业务逻辑实时【消息队列等】写入到汇总表
C:mysql+ maxwell+kafka实时计算
方案分析与选择:
A 方案问题: 实时性不足,用户获到收益后,明细存在但却没有加到汇总信息中。而且业务中有使用可用余额支付的场景,无法完全满足用户及业务的需求。
B 方案问题:业务耦合,每个业务线都要关注数据实时问题。 业务线多了的话有可能会遗漏部分场景。
C 方案:业务解耦,业务开发时无需过度关注收益汇总问题。实时性较强,收益数据正常产生到用户看到基本在毫秒级别
具体操作:
https://blog.csdn.net/Allenzyg/article/details/107248097?spm=1001.2014.3001.5502
点击空白处退出提示
评论