1.1本部分内容简介
这部分我们将要发送一个消息到多个Consumer,这部分称之为“publish/subscribe”
我们实现的方式就是发送端,发送一个消息,与此同时,多个接收端将同时接收到消息并打印在屏幕上面。
1.2exchange简介
在前面的博文中,我们的讲解是:发送端发送消息至消息队列,接收端从消息队列获取消息。现在我们来介绍一下rabbitmq的完整消息传送模型。
>Producer:用来发送消息的应用程序
>queue:用来存储消息的缓存
>Consumer:用来接收消息的应用程序
消息传送模型的核心是,Producer从不会直接将消息传送给queue,而是,将消息传送给exchange,exchange是个很简单的东西,在一侧,他接收来自Producer的消息,另一侧将消息传送给queue。exchange将消息传送给你个queue,还是传送给多个queue,这主要是由exchange的type决定。模型图如下:
exchange有很多type可用,如下:direct、topic、headers、fanout。本博客针对fanout讲解,后续博文对其他类型有所讲解,让我们创建一个exchange,type为fanout,名字为logs,代码如下:
channel.exchange(exchange='logs',type='