消息队列RabbitMQ简介
大家好,我是joker,希望你快乐。
RabbitMQ是什么
RabbitMQ是基于AMQP(Advanced Message Queue Protocol)高级消息队列协议实现的一种消息队列。
重要组件
-
Exchange: message 到达MQ的第一站,根据分发规则,配查询表中的 routing key,分发消息到queue 中去。常用的类型有: fanout、direct、topic
-
Queue: 消息最终被送到这里等待 consumer 取走
-
Binding: exchange 和 queue 之间的虚拟连接,binding 中可以包含 routing key。Binding 信息被保存到 exchange中的查询表中,用于 message 的分发依据
Exchange类型
灵活度越来越高
-
fanout
广播交换器,当你发送一条消息到fanout交换器时,它会把消息投递给所有附加在此交换器上的队列
-
direct
直连交换器,根据绑定routing_key投递到相应队列。
-
topic
主题交换器,可以使用,#通配符。代表一个单词,#代表0个或多个单词
* (star) can substitute for exactly one word.
(hash) can substitute for zero or more words.
当一个队列以”#”作为绑定键时,它将接收所有消息,而不管路由键如何,类似于fanout型交换器。
当特殊字符”*”、”#”没有用到绑定时,topic型交换器就好比direct型交换器了。
更详细的说明可以查看RabbitMQ Tutorials — RabbitMQ
作者:Crazy_Joker
来源:http://www.cnblogs.com/Crazy_Joker
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
来源:http://www.cnblogs.com/Crazy_Joker
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。