视频选集

FanoutExchange:广播式分发,消息无差别地发送给所有绑定队列,不考虑路由键。
DirectExchange:按路由键精确匹配,消息仅发送给绑定键与路由键完全相同的队列。
TopicExchange:基于通配符模式匹配,消息发送给绑定键与路由键匹配模式的队列。
tips:生产者通过指定路由键发送消息,而交换机则根据绑定键和路由键的匹配规则来决定将消息转发到哪些队列。消费者只和监听的队列有关系。
2.特点
FanoutExchange:简单的广播模式,性能高,无需路由规则,适合“一对多”消息广播场景。广播消息。
DirectExchange:路由规则明确,能实现精确的消息分发,适合“一对一”或简单“一对多”场景。直连传输消息。
TopicExchange:灵活且扩展性强,可实现复杂的消息分类和筛选,适合多样化的业务需求。
3.适用场景
FanoutExchange:如:日志收集系统、群聊功能、游戏积分排行榜更新、体育新闻实时更新等需广播消息的场景。
DirectExchange:如:按错误级别分发日志信息,只有绑定对应错误级别路由键的队列才能接收相应日志。
TopicExchange:如:金融系统按股票代码或行业分类发送行情信息,电商系统按订单状态、商品类型分发消息等按主题分类的处理场景。
4.性能比较
FanoutExchange:消息分发速度快,但消息量大时会占用较多网络带宽和存储空间。
DirectExchange:需进行精确匹配判断,性能稍逊于FanoutExchange,但在大多数场景中性能差异可忽略不计。
TopicExchange:因需模式匹配运算,性能相对较低,但合理设计路由键和绑定键模式后,仍能满足一般需求。
核心伪代码对比
核心四步:
第一步:创建交换机
第二步:声明队列
第三步:交换机与队列绑定
第四步:发送消息、接收消息