RabbitMQ 路由
四种基本类型:
Direct 交换器。
Fanout 交换器。
Direct交换器使得队列能够接收特定目的的消息。不同于此, fanout 交换器并不作区分。所有发往 fanout 交换器的消息会被投递到所有绑定到该交换器上的队列中。由于 RabbitMQ不需要在投递消息时检测路由键,这将带来可观的性能优势 。
Topic 交换器 。
类似于 direct交换器, topic交换器会将消息路由至匹配路由键的任一队列中。但是通过采用句点分隔的形式,队列可以通过使用基于通配符的模式匹配的方式来绑定到路由键上。通过使用星号(*)和井号(#〉字符,你可以在同一时刻匹配路由键的特定部分,甚至是多个部分 。星号将会匹配路由键中下一个句点前的所有字符 ,而井号键将会匹配接下来所有的字符,包括句点。
Headers 交换器。
通过采用消息属性中的 headers 表支持任意的路由策略 。 绑定至 headers 交换器的队列会向 Queue.Bind 参数中传入键值对数组以及 x-match 参数。
交换器之间路由:
一致性胎希交换器路由:
总结:
评论