您的位置:首页 > 其它

RabbitMQ 消息队列大体知识体系

2016-08-15 00:00 411 查看
simple queue
发送就会接受
work
// 同一时刻服务器只会发一条消息给消费者
channel.basicQos(1);
能者多劳

subscribe
channel.queueBind(QUEUE_NAME, EXCHANGE_NAME, "");// 绑定队列到交换机
消息发送到没有队列绑定的交换机时,消息将丢失,因为,交换机没有存储消息的能力,消息只能存在在队列中。
routing
subscribe的一种,可以对广播的信息进行过滤,已得到自己想需要获取的信息
topic 通配符匹配(routing的)

消息的确认模式(跟队列没有关系)
消费者从队列中获取消息,服务端如何知道消息已经被消费呢?
模式1:自动确认
channel.basicConsume(QUEUE_NAME, true, consumer); //true 自动模式
只要消息从队列中获取,无论消费者获取到消息后是否成功消息,都认为是消息已经成功消费。
模式2:手动确认
channel.basicConsume(QUEUE_NAME, false, consumer); //false 手动模式
消费者从队列中获取消息后,服务器会将该消息标记为不可用状态,等待消费者的反馈,如果消费者一直没有反馈,那么该消息将一直处于不可用状态。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: