redis也可以实现队列,为什么还要用rabitmq或者kafka?

发布于 2022-09-01 12:22:17 字数 171 浏览 20 评论 0

如题。你们的队列是怎么用?
我是这么用的,一个生产,然后后台跑了crontab定时跑队列里面的内容。这个是我面试的时候面试官问我的,他就对我说你这么用不对,队列不是这么用,他说你要用crontab跑队列,哪和用数据库做个队列没啥区别。但我确实是这么用,我又没好意思问他怎么才是对的。。。。各位种大神你们是怎么用的啊?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

那支青花 2022-09-08 12:22:17

直接写文件也能实现key-value啊,为什么还要redis?

抛开业务场景谈这些组件的选择就是耍流氓。 负载不大,可靠性要求不高,没有扩容需求的情况下自然都一样,甚至就像之前说的,不用redis,就写文件都行,往某个文件夹里写个文件=>入队,拿出来删掉=>出队

至于ack啊,分布式啊,抗压啊等等各种问题,redis基本没有现成解决方案,有的可以自己变通解决,有的就是解决不了,所以才会有各种各样的专业队列组件,有的注重速度,有的注重分布式,有的注重可靠性,他们都会试图解决redis解决不了的一些问题。就好像你磁盘写文件当key-value用,IO的速度自然成为瓶颈,负载能力上不去,所以才会有专业的redis来做内存的kv

緦唸λ蓇 2022-09-08 12:22:17

redis内存中实现队列,持久化不是强项,专门的MQ实现更可靠。redis的缓存功能是它的专长,没有好坏,只有更合适。

痕至 2022-09-08 12:22:17

redis实现的是简单的队列,而且没有持久化,负载均衡可以说是没有(一个KEY不可能放到多台服务器)。这方面专门的MQ产品还是做到好些。

情深如许 2022-09-08 12:22:17

发布/订阅模式
订阅者只需要注册自己,当有消息到来的时候,订阅者会收到通知,所以不需要去轮询。

岛歌少女 2022-09-08 12:22:17

我知道一种实现方式是:用一个阻塞队列候着,一有消息就弹出。

我自己是用socket.io实现的消息队列。

给我一枪 2022-09-08 12:22:17

术业有专攻

北恋 2022-09-08 12:22:17

其实这么说的话,用 memcache 实现消息队列,有时,也挺方便的。

晨曦÷微暖 2022-09-08 12:22:17

你这个问题好low

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文