RabbitMQ 路由

用户头像
云淡风轻
关注
发布于: 2020 年 05 月 25 日

四种基本类型:

  • Direct 交换器。



  • Fanout 交换器。

Direct交换器使得队列能够接收特定目的的消息。不同于此, fanout 交换器并不作区分。所有发往 fanout 交换器的消息会被投递到所有绑定到该交换器上的队列中。由于 RabbitMQ不需要在投递消息时检测路由键,这将带来可观的性能优势 。



  • Topic 交换器 。

类似于 direct交换器, topic交换器会将消息路由至匹配路由键的任一队列中。但是通过采用句点分隔的形式,队列可以通过使用基于通配符的模式匹配的方式来绑定到路由键上。通过使用星号(*)和井号(#〉字符,你可以在同一时刻匹配路由键的特定部分,甚至是多个部分 。星号将会匹配路由键中下一个句点前的所有字符 ,而井号键将会匹配接下来所有的字符,包括句点。



  • Headers 交换器。

通过采用消息属性中的 headers 表支持任意的路由策略 。 绑定至 headers 交换器的队列会向 Queue.Bind 参数中传入键值对数组以及 x-match 参数。



交换器之间路由:

一致性胎希交换器路由:

总结:



用户头像

云淡风轻

关注

云淡风轻 2018.08.18 加入

JAVA软件工程师

评论

发布
暂无评论
RabbitMQ路由