为什么不建议用redis做消息队列
Posted HappyTeemo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么不建议用redis做消息队列相关的知识,希望对你有一定的参考价值。
redis的list做队列其实还是很爽的,简单,一个读一个写即可,而且基本每个系统都会使用redis,接入没有附加成本,也没有额外的学习成本。
如果需要订阅模型,写三个队列,然后三个消费者分别读自己的那个即可。
但是,也有一些问题:
- 无法回放,消费了即消失,没有记录。
- 消息体如果很大,会占用很多内存。
- 消费者如果很慢,或者异常了,或者流量突然增大,会导致redis内存占用突增,甚至直接OOM.
- 内存很贵。其他的消息队列往往用的磁盘,成本低很多。
- redis本身对流量密集的场景支持并没有那么友好。
所以,当我们的队列信息很多、或者消息体很大的情况下,建议用其他消息队列,而不是直接用redis。
当你停下来休息的时候,不要忘记别人还在奔跑!
以上是关于为什么不建议用redis做消息队列的主要内容,如果未能解决你的问题,请参考以下文章