AMQP基本概念

主要概念

  • Exchange

  • Bindings

  • Queues
    AMQP基本概念

与JMS的区别

  • JMS虽然有抽象出Destination,但是具体编程的时候,需要使用者指定是Queue还是Topic。

  • AMQP,通过Exchange屏蔽了queue和topic的细节。

消息路由

简单的说就是借助Exchange通过routingKey和binding两个的组合使用实现message与queue的路由。

  • 仅仅使用routingKey,不需要exchange与queue绑定,就是direct模式

  • 不是用routingKey,使用exchange与queue的绑定,就是Fanout模式

  • 既使用routingKey,又使用Exchange与Queue的绑定,就是Topic模式,较为复杂,可以基于bindingKey的规则匹配过滤/指定要接收发送到绑定的exchange上的不同routingKey的消息。

Exchange模式

具体是通过指定Exchange的方式,来实现点对点还是订阅发布模式:

Topic

就是主题模式,需要routingKey,也需要绑定Queue,根据绑定的routingkey来发送
AMQP基本概念

Fanout

不需要routingKey,需要Exchange与Queue绑定
AMQP基本概念

direct模式

需要routingKey,不需要Exchange与Queue绑定,直接根据routingKey发送
AMQP基本概念

AMQP消息格式

AMQP基本概念