问题描述
项目需要实现异步消息队列且能够独立与应用服务,通用的框架一般有redis,mq等,目前采用mq来实现队列。
解决方案分析
采用mq,摒弃redis,一个很重要的问题是 Redis 只提供一种方式 发布/订阅广播的方式,这种是无状态的队列,且所有的监听者都可以收到生产者发送的消息,但不能保证每个消息都有接收处理。
mq 提供了两种队列方式,一种是Redis 提供的广播方式;另一种是p2p的模式,这种mq服务器会有存储结构存储,且多个监听者监听,只会有一个监听者接收并处理这个消息,且处理过后会在存储结构中移除,可以保证发送的消息一定会有1个且仅有一个监听者处理。
本文探讨了MQ和Redis在实现消息队列方面的优缺点。MQ提供了p2p模式确保每个消息都能被唯一消费者处理,而Redis只支持发布/订阅模式,无法保证消息的可靠处理。
616

被折叠的 条评论
为什么被折叠?



