【IT老齐045】RabbitMQ六种队列模式
前情提要
Producer:生产者,消息的提供者
Consumer:消费者,消息的使用者
Broker:MQ服务器,管理队列、消息及相关信息
Message:消息,程序间的通信的数据
Queue:队列,消息存放的容器,消息先进先出
Exchange:交换机,用于分发消息
工作模式
简单模式
工作队列
本讲将创建一个工作队列(Work Queue),它会发送一些耗时的任务给多个工作者(Worker)。
在多个消息的情况下,Work Queue会将消息分派给不同的消费者,每个消费者都会接收到不同的消息,并且可以根据处理消息的速度来接收消息的数量,进而让消费者程序发挥最大性能。
Work Queue特别适合在集群环境中做异步处理,能最大程序发挥每一台服务器的性能。
应用
发布订阅
发布/订阅模式中,生产者不再直接与队列绑定,而是将数据发送至”交换机Exchange”
交换机Exchange用于将数据按某种规则送入与之绑定的队列,进而供消费者使用。
发布/订阅模式中,交换机将无差别的将所有消息送入与之绑定的队列,所有消费者拿到的消息完全相同。
应用
发布订阅模式因为所有消费者获得相同的消息,所以特别适合“数据提供商与应用商“
例如:中国气象局提供“天气预报”送入交换机,网易、新浪、百度搜狐等门户接入通过队列绑定到该交换机,自动获取气象局推送的气象数据。
路由模式
路由(Routing)模式是在发布订阅模式基础上的变种。
发布订阅模式是无条件将所有消息分发给所有消费者队列。
路由模式则是Exchange根据Routing Key有条件的将数据筛选后发给消费者队列。
主题模式
RPC远程通信
__EOF__
本文作者: 石一歌 本文链接: https://www.cnblogs.com/faetbwac/p/18080342 关于博主: 评论和私信会在第一时间回复。或者直接私信我。 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处! 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。