4

主要概念

  • Exchange

  • Bindings

  • Queues
    图片描述

与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来发送
图片描述

Fanout

不需要routingKey,需要Exchange与Queue绑定
图片描述

direct模式

需要routingKey,不需要Exchange与Queue绑定,直接根据routingKey发送
图片描述

AMQP消息格式

图片描述


codecraft
11.9k 声望2k 粉丝

当一个代码的工匠回首往事时,不因虚度年华而悔恨,也不因碌碌无为而羞愧,这样,当他老的时候,可以很自豪告诉世人,我曾经将代码注入生命去打造互联网的浪潮之巅,那是个很疯狂的时代,我在一波波的浪潮上留下...


引用和评论

0 条评论