本博客只是记录工作中使用到的知识,请持怀疑态度参考本博客,有新的理解会及时更新博客,方便自己学习。如有理解错误的地方请评论,一起学习。
什么是rabbitmq
-- 实现AMQP协议的一种
什么是AMQP协议
-- 高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。它从生产者接收消息并递送给消费者,在这个过程中,根据规则进行路由,缓存与持久化。
”Rabbit MQ是用Erlang语言实现的一个高并发高可靠AMQP消息队列服务器。” ---点击打开链接
从erlang语言本身理解,实现AMQP协议的RabbitMQ有什么优势?
概念熟悉:
http://www.mamicode.com/info-detail-1751468.html
exchange 交换机
broker 服务器实体
queue 消息队列
routing key 路由关键字,exchange根据这个关键字绑定queue
rabbitmq有6应用场景,官网上看
rabbitmq提供了4中exchange模式: fanout direct topic header -- http://www.cnblogs.com/zhangweizhong/p/5713874.html
fanout 是不需要routing key,只需要简单把队列绑定到exchange上,消息到exchange然后直接投放到与这个exchange绑定的所有队列中,是转发消息最快的。
direct 是exchange 根据 routing key关键字直接投放消息到queue
topic 是更复杂一些的routing key绑定
RabbitMQ 消息传递机制,实现不同应用程序的异步消息通信。实践参考博客:http://blog.youkuaiyun.com/segen_jaa/article/details/43230431
使用记录:
消息属性在AMQP的协议中规定有14个;而很多大部分我们没有用到