三、消息队列中的交换机三种模式

简介: 三、消息队列中的交换机三种模式

1. direct  交换机

(1)导入依赖:

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
   </dependency>

(2)application.yaml

spring:
  rabbitmq:
    host: localhost
    port: 5672
    username: guest
    password: guest

(3)RabbitDirectConfig : 创建direct 交换机 + 创建队列 + 绑定

/**
 * 高级消息队列协议   amqp
 */
@Configuration
public class RabbitDirectConfig {
    //1. 创建direct交换机
    @Bean
    public DirectExchange newExchange(){
        return new DirectExchange("myExchange",true,false);
    }
    //2. 创建队列
    @Bean
    public Queue newQueue(){
        return new Queue("myQueue",true);
    }
    //3. 绑定
    @Bean
    public Binding bind(){
        return BindingBuilder.bind(newQueue()).to(newExchange()).with("myKey");
    }
}

(4)生产者

@RestController
public class DirectProducer {
    @Autowired
    private RabbitTemplate rabbitTemplate;
    @PostMapping("direct")
    public String sendMessage(String message){
        rabbitTemplate.convertAndSend("myExchange","myKey",message);
        return "send message successfully";
    }
}

(5)消费者

@Component
public class DirectConsumer {
    // 监听并接收队列中的消息
    @RabbitHandler
    @RabbitListener(queues = "myQueue")
    public void getMessage(String message){
        System.out.println("消费者接收到了消息:" + message);
    }
}
目录
相关文章
|
2月前
|
消息中间件 负载均衡 NoSQL
Redis系列学习文章分享---第七篇(Redis快速入门之消息队列--List实现消息队列 Pubsub实现消息队列 stream的单消费模式 stream的消费者组模式 基于stream消息队列)
Redis系列学习文章分享---第七篇(Redis快速入门之消息队列--List实现消息队列 Pubsub实现消息队列 stream的单消费模式 stream的消费者组模式 基于stream消息队列)
37 0
|
21天前
|
消息中间件 传感器 负载均衡
消息队列 MQ使用问题之如何配置一主一从的同步复制模式
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
消息队列 MQ使用问题之如何配置一主一从的同步复制模式
|
2天前
|
数据安全/隐私保护 网络架构 iOS开发
交换机启动总是爱进入rommon模式,怎么办?
交换机启动总是爱进入rommon模式,怎么办?
|
24天前
|
前端开发 SDN 网络虚拟化
|
21天前
|
消息中间件 Java Apache
消息队列 MQ使用问题之如何在内外网环境下使用单组节点单副本模式
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
2月前
|
消息中间件
【消息队列开发】 实现Router类——交换机的转发规则
【消息队列开发】 实现Router类——交换机的转发规则
|
2月前
|
消息中间件
【消息队列开发】 虚拟主机设计——放送消息到队列/交换机中
【消息队列开发】 虚拟主机设计——放送消息到队列/交换机中
|
2月前
|
消息中间件 安全 API
【消息队列开发】虚拟主机设计——操作交换机
【消息队列开发】虚拟主机设计——操作交换机
|
2月前
|
消息中间件 Apache C语言
消息队列 MQ产品使用合集之在Cluster部署模式下,使用dashboard无法查询到消费组信息,一般是什么导致的
阿里云消息队列MQ(Message Queue)是一种高可用、高性能的消息中间件服务,它允许您在分布式应用的不同组件之间异步传递消息,从而实现系统解耦、流量削峰填谷以及提高系统的可扩展性和灵活性。以下是使用阿里云消息队列MQ产品的关键点和最佳实践合集。
|
2月前
|
消息中间件 负载均衡 Apache
消息队列 MQ产品使用合集之是否支持Master/Slave模式进行部署?
阿里云消息队列MQ(Message Queue)是一种高可用、高性能的消息中间件服务,它允许您在分布式应用的不同组件之间异步传递消息,从而实现系统解耦、流量削峰填谷以及提高系统的可扩展性和灵活性。以下是使用阿里云消息队列MQ产品的关键点和最佳实践合集。