redis 的简单干练,但是他没有ack的概念,我后端从队列里面获取了任务后,如果线程崩溃了,这个任务也就消失了,当然我可以在我的程序层面实现任务的可靠性,比如做个双队列和多元数据什么的。

而rabbitmq本身就提供了这些方方面面的可靠性


basicConsumer,basicGet
channel.basicConsume(queue, noAck, queueingConsumer);
channel.basicGet(queue, noAck);

noAck = true,不需要回复,接收到消息后,queue上的消息就会清除
noAck = false,需要回复,接收到消息后,queue上的消息不会被清除,直到调用channel.basicAck(deliveryTag, false); queue上的消息才会被清除
而且,在当前连接断开以前,其它客户端将不能收到此queue上的消息




对Python及运维开发感兴趣的朋友可以加QQ群 : 478476595 !!!
{ 2000人qq大群内有各厂大牛,常组织线上分享及沙龙,对高性能及分布式场景感兴趣同学欢迎加入该QQ群 }

另外如果大家觉得文章对你有些作用!   帮忙点击广告. 一来能刺激我写博客的欲望,二来好维护云主机的费用.
如果想赏钱,可以用微信扫描下面的二维码. 另外再次标注博客原地址  xiaorui.cc  ……   感谢!
暂无相关产品

发表评论