总结
一、简单模式 Hello World
本质就是:生产者-消费者模式
生产者代码
注意:Linux服务器需要打开5672端口才能发送成功
消费者代码
/** * 启动一个消费者,并返回服务端生成的消费者标识 * queue:队列名 * autoAck:true 接收到传递过来的消息后acknowledged(应答服务器),false 接收到消息后不应答服务器 * deliverCallback: 当一个消息发送过来后的回调接口 * cancelCallback:当一个消费者取消订阅时的回调接口;取消消费者订阅队列时除了使用{@link Channel#basicCancel}之外的所有方式都会调用该回调方法 * @return 服务端生成的消费者标识 */ channel.basicConsume(QUEUE_NAME, true, deliverCallback, consumerTag -> { System.out.println("调用"+consumerTag); });
二、工作模式 Work Queue
生产者发布一个消息,会通过默认路由,路由到一个队列中,只能被一个消费者消费,不能重复消费。
三、发布订阅模式 Publish & Subscribe
如果想让一个消息被多个消费者消费,就需要通过交换机exchanges将消息路由routing到多个队列中即可。这就是发布订阅模式。