天蝎做网站建网站,巴南网站制作,深圳网站建设培训班,简述网站开发流程RabbitMQ有5中工作模式#xff1a;简单模式、工作队列模式、发布/订阅模式、路由模式和主题模式 简单模式#xff08;Simple Mode#xff09;
简单模式是最基本的工作模式#xff0c;也是最简单的模式。在简单模式中#xff0c;生产者将消息发送到一个队列中#xff0c;… RabbitMQ有5中工作模式简单模式、工作队列模式、发布/订阅模式、路由模式和主题模式 简单模式Simple Mode
简单模式是最基本的工作模式也是最简单的模式。在简单模式中生产者将消息发送到一个队列中然后消费者从该队列中接收并处理消息。这种模式下一个生产者可以发送多个消息但只有一个消费者能够接收和处理这些消息。简单模式适用于单个生产者和单个消费者的场景。
具体实现
1. 导入依赖、在依赖文件配置rabbitmq(消费者和生产者程序都要实现)
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-amqp/artifactId
/dependency
spring:rabbitmq: host: 192.168.10.100 # 自己的虚拟机IPport: 5672 # 端口virtual-host: /root # 虚拟主机username: root # 用户名password: root # 密码
2. 创建消费者一个程序
Component
public class SimpleModeProducer {Autowiredprivate RabbitTemplate rabbitTemplate;//注入中央类public void sendMessage(String queueName, String message) {rabbitTemplate.convertAndSend(queueName, message);System.out.println(发送的消息: message);}
}
3.创建消费者另一个程序
Component
public class SimpleModeConsumer {RabbitListener(queues simple.queue)//监听队列自动检测public void receiveMessage(String message) {System.out.println(接收到的消息: message);}
}
4. 测试在生产者程序
SpringBootTest
public class SimpleModeTest {Autowiredprivate SimpleModeProducer producer;Testpublic void testSimpleMode() {producer.sendMessage(simple.queue,hello, rabbitmq!);}
} 工作队列模式Work Queue Mode
工作队列模式也被称为任务队列模式在工作队列模式中生产者将消息发送到一个队列中多个消费者同时监听该队列并竞争地接收消息进行处理。每个消息只能被一个消费者接收确保消息的唯一性。工作队列模式可以实现任务的并行处理提高系统的处理能力。
发布/订阅模式Publish/Subscribe Mode
发布/订阅模式将消息发送到交换机exchange然后交换机将消息广播给所有绑定的队列。每个队列都有自己的消费者从而实现了消息的广播。在发布/订阅模式中生产者将消息发送到交换机而不是直接发送到队列。交换机根据绑定的队列将消息进行广播。这种模式适用于需要将消息广播给多个消费者的场景。
路由模式Routing Mode
路由模式在发布/订阅模式的基础上增加了路由键routing key的概念。生产者将消息发送到交换机并指定一个路由键。交换机根据路由键的匹配规则将消息发送到相应的队列。消费者可以选择订阅特定的路由键只接收符合条件的消息。这种模式适用于需要根据消息的属性或条件进行消息路由的场景。
主题模式Topic Mode
主题模式是路由模式的扩展它使用通配符来匹配路由键。生产者将消息发送到交换机并指定一个主题topic。交换机根据主题的模式匹配将消息发送到符合条件的队列。主题模式可以实现更灵活的消息路由可以根据不同的主题将消息发送给不同的队列。这种模式适用于需要根据消息的主题进行灵活路由的场景。