讨论kakfa做消息队列和redis实现消息队列区别

i-neojos 2016-06-16 11:02:59
redis做消息队列的话,考虑两种数据结构:list和zset。
但是这样的话,消息队列就是一个point-to-point的结构,需要一个task去循环lpop元素,但是这种秒级别的请求感觉会不会拖垮redis了?

kafka的话确实好,但是代价比较大?

大家有什么好的消息队列的方法?

...全文
4100 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdfdsfsfxxx 2016-11-21
  • 打赏
  • 举报
回复
while没撒影响,主要看你每次while,判断的时间复杂度。一般是isEmpty或者size方法,时间复杂度在O(n),所以队列不要太大
夏之冰雪 2016-06-24
  • 打赏
  • 举报
回复
引用 2 楼 f1520107395 的回复:
[quote=引用 1 楼 hellodifa 的回复:] kafka本身就是消息队列,肯定比redis优势多,你指的代价是学习成本还是部署成本。 我觉得看自己的业务场景吧,如果就是很普通的业务场景,数据量并发量都不大,用啥都差不多。 要是要求很高的架构,kafka更合适吧,还支持分布式。 ps,我没怎么用过kafka,我们公司大量使用rabbitmq~
牛,我还没有接触过rabbitmq,只是听说过。 因为我自己租的阿里服务器,感觉搭建一个single 的kafka意义不大。我想用redis的list,但是blpop以及lpop经过衡量,还是得使用lpop比较合适,但是我自己又比较担心,这样的一个while类型的操作,一直在向redis请求,会给服务器带来很大的压力?[/quote] 不要小瞧redis哦,你的需求不会给redis造成压力的。 另外,阿里云也提供了消息队列服务,支持后台查询,提供api接口进行发布和消费,也挺好用的,最主要是比自己弄得稳定,不过需要花钱,但是不多。你也可以研究研究~
i-neojos 2016-06-18
  • 打赏
  • 举报
回复
引用 1 楼 hellodifa 的回复:
kafka本身就是消息队列,肯定比redis优势多,你指的代价是学习成本还是部署成本。 我觉得看自己的业务场景吧,如果就是很普通的业务场景,数据量并发量都不大,用啥都差不多。 要是要求很高的架构,kafka更合适吧,还支持分布式。 ps,我没怎么用过kafka,我们公司大量使用rabbitmq~
牛,我还没有接触过rabbitmq,只是听说过。 因为我自己租的阿里服务器,感觉搭建一个single 的kafka意义不大。我想用redis的list,但是blpop以及lpop经过衡量,还是得使用lpop比较合适,但是我自己又比较担心,这样的一个while类型的操作,一直在向redis请求,会给服务器带来很大的压力?
夏之冰雪 2016-06-17
  • 打赏
  • 举报
回复
kafka本身就是消息队列,肯定比redis优势多,你指的代价是学习成本还是部署成本。 我觉得看自己的业务场景吧,如果就是很普通的业务场景,数据量并发量都不大,用啥都差不多。 要是要求很高的架构,kafka更合适吧,还支持分布式。 ps,我没怎么用过kafka,我们公司大量使用rabbitmq~

4,251

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧