rabbitmq是用来提供消息队列的服务,它是基于AMQP的,而AMQP主要角色有
1.Publisher(Producer):发布消息者
2.Routing key:确定绑定消息队列的凭证
3.Exchange:根据Routing key和Exchanage类型,将消息发到指定的消息队列
4.Consumer:接收消息者
Exchanage共有3种类型:
1.Topic:如果Publisher提供的Routing key与某消息队列的提供的Routing key(*代表一个单词,#代表0个或多个单词)模式匹配,则将Routing key对应的消息发到该消息队列(比如Routing key 的值是'a.b',消息队列的可以是'a.*',‘*.b’)
2.Direct:Routing key与某消息队列的Routing key完全匹配,则将Routing key对应的消息发到该消息队列(比如Routing key 的值是'a.b',消息队列的Routing key必须为'a.b')
3.Fanout::此为广播模式,消息将被发到该Exchange绑定的 所有消息队列
参考:
1.https://www.ibm.com/developerworks/cn/cloud/library/1403_renmm_opestackrpc/
2.http://www.cnblogs.com/starof/p/4173413.html