消息中间件,遵循AMQP(Advanced Message Queuing Protocol)并发
上面就是不一样服务与rabbitmq的交互图ui
角色:中间件
生产者:发送信息到rabbitmq的队列之中blog
rabbitmq:负责接收生产者发送过来的信息,并发送给对应的消费者。rabbitmq
消费者:接收rabbitmq发送过来的信息,对之处理。若是必要,可反馈结果。队列
rabbitmq主要包含:message broker(或称victual hosts,简称vhosts),exchange(交换机),queue(队列)it
vhosts:rabbitmq能够包含多个vhosts,每一个vhosts中均可以包含多个exchange和多个queue,vhosts之间互不影响dva
exchange(交换机):可(一对一或一对多)与queue绑定(Binding)。Producer发送到exchange的信息,若是该交换机没有与任何queue进行绑定,发送的信息就会丢失,exchange没法保存接收到的信息。queue
queue(队列):从Producer或是exchange处接收信息,保存到队列之中,以后发送信息给消费者。im