rabbitmq
推荐的学习文章:https://blog.csdn.net/lzx1991610/article/details/102970854
五种队列
Direct Exchange(直连交换机):Direct Exchange 是最简单的一种交换机类型,它会根据消息的 routing key 将消息路由到指定的队列。当一个队列绑定到 Direct Exchange 上时,需要指定一个 routing key,只有当消息的 routing key 与队列绑定时指定的 routing key 相同时,消息才会被投递到该队列。
Fanout Exchange(广播交换机):Fanout Exchange 将收到的所有消息广播到所有与之绑定的队列上,忽略消息的 routing key。如果你希望消息能够被多个队列同时接收,可以使用 Fanout Exchange。
Topic Exchange(主题交换机):Topic Exchange 可以根据消息的 routing key 和通配符模式将消息路由到一个或多个队列。通配符模式包括
*
(匹配一个单词)和#
(匹配零个或多个单词),允许实现更灵活的消息路由规则。Headers Exchange(头部交换机):Headers Exchange 使用消息的 header 属性来决定消息的路由规则,而不是像其他交换机那样使用 routing key。通过设置消息的 header 属性,可以定义复杂的消息路由规则。
Dead-Letter Exchange(死信交换机):Dead-Letter Exchange 不是一种独立的交换机类型,而是一种特殊的交换机配置。当消息变成“死信”(无法路由到目标队列或超时等情况)时,可以将这些消息重新发送到另一个交换机,这就是 Dead-Letter Exchange 的作用。
六种消息队列模式
点对点模式(Point-to-Point):也称为队列模式,消息生产者发送消息到队列,然后消息消费者从队列中接收并处理消息。每条消息只会被一个消费者接收,保证了消息的独占性。
发布/订阅模式(Publish/Subscribe):消息生产者将消息发布到交换机(Exchange),交换机将消息广播到所有与之绑定的队列上,消息消费者可以同时订阅多个队列来接收消息。
主题模式(Topic):主题模式是发布/订阅模式的扩展,它允许消息生产者定义更复杂的消息路由规则,消息消费者可以使用通配符匹配来接收感兴趣的消息。
工作队列模式(Work Queues):也称为任务队列模式,多个消费者竞争接收来自同一个队列的消息。消息会被平均分配给多个消费者进行处理,确保消息的负载均衡。
路由模式(Routing):消息生产者根据消息的路由键将消息发送到交换机,交换机根据预先设定的路由规则将消息路由到指定的队列中,实现精确的消息路由控制。
确认模式(Confirm):确认模式用于消息的可靠传递,在消息生产者发送消息后,可以等待消息代理(Broker)返回确认信息,确保消息已经被正确地接收和处理。