redis rabbitmq队列性能可靠度的个人体验

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上的消息


发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">