AMQP 0-9-1基本概念

RabbitMQ是个轻量级的消息队列系统。实现了一个叫AMQP 0-9-1的协议。AMQP 0-9-1是Advanced Message Queuing Protocol的高级消息队列协议的缩写。

在AMQP里面有几个基本感念,Publisher发布者,Exchange交换区,Queue队列,Consumer消费者。

Publisher通常是指需要发送消息的应用,Publisher会将应用发到Exchange,当然这个Exchange是由RabbitMQ之类的实现着完成的,应用只要调用API就可以发送消息到Exchange,然后Exchange这边会更具不同的条件将消息转移到不同的队列里面。这个也是在RabbitMQ里面实现的,当然这个转移的条件是应用自己配置的。最后这个消息会从Queue发送到真正的使用者手里,也就是Consumer,完成一个完整的消息传递。

开发人员编写Publisher这端调用API发送消息,Consumer那一端调用API接受消息。

RabbitMQ带有多种语言的封装,方便不同语言的互操作。

在Consumer这一端有个内容值得提一下,那就是push和pull两种模式。push模式就是Consumer先预先向RabbitMQ告知需要关心的队列,这样队列系统就可以主动发送消息到Consumer应用。Pull模式则是有Consumer应用根据自己状态和需要,主动查询队列系统里面有没有自己需要处理的消息。


分享到:


相關文章: