A 服务高并发的上报数据,
B 服务是多点部署的,B 服务要接收 A 服务的上报数据,并对上报的数据及时的汇总进行后需要的监控报警操作。
这个场景该怎么设计好,求大佬们支招?
抛砖引玉:
A 服务通过 MQ 上报数据,
B 服务消费数据,在消费到一条数据后存储到 redis 中,然后触发一个异步的汇总线程任务。
异步汇总线程任务: 申请一个 redis 锁(确保只有一个任务在做汇总操作),拉取所有的明细数据,汇总后将汇总结果存储到 redis 中(如果已经存在一个汇总结果,则合并结果),删除明细数据,释放 redis 锁。
另外问一个 MQ 的问题:
我再 MQ 中通过 fanout Exchange 模式,将一个消息发送到两个队列,
然后每个队列中各有 5 个消费者,
那么是不是每个队列只有一个消费者可以消费到数据?
就是说实现了类似 kafka 中对消费者分组的那种效果:每组消费者都可以消费到数据,每组消费者中只有一个消费者可以消费到数据。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.