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

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

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);
    }
}
目录
相关文章
|
6月前
|
消息中间件 负载均衡 NoSQL
Redis系列学习文章分享---第七篇(Redis快速入门之消息队列--List实现消息队列 Pubsub实现消息队列 stream的单消费模式 stream的消费者组模式 基于stream消息队列)
Redis系列学习文章分享---第七篇(Redis快速入门之消息队列--List实现消息队列 Pubsub实现消息队列 stream的单消费模式 stream的消费者组模式 基于stream消息队列)
78 0
|
4月前
|
安全 网络性能优化 网络安全
别再让网络瓶颈困扰你!掌握这十种交换机接口模式,提升你的网络布局技能
【8月更文挑战第23天】交换机作为网络核心,其接口模式直接影响网络布局与性能。本文介绍了十大常见接口模式及其配置实例,包括基础接入模式、优化布线的干道模式、动态学习相邻交换机VLAN信息的动态中继协议模式、固定分配VLAN的静态接入模式、确保语音优先传输的语音VLAN模式、指定默认VLAN的native模式、增加带宽与可靠性的链路聚合及EtherChannel模式、保障网络安全的端口安全模式以及确保关键业务流畅传输的QoS模式。理解并掌握这些模式对于构建高效稳定的网络至关重要。
143 1
|
5月前
|
消息中间件 传感器 负载均衡
消息队列 MQ使用问题之如何配置一主一从的同步复制模式
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
消息队列 MQ使用问题之如何配置一主一从的同步复制模式
|
5月前
|
前端开发 SDN 网络虚拟化
|
4月前
|
数据安全/隐私保护 网络架构 iOS开发
交换机启动总是爱进入rommon模式,怎么办?
交换机启动总是爱进入rommon模式,怎么办?
|
5月前
|
消息中间件 Java Apache
消息队列 MQ使用问题之如何在内外网环境下使用单组节点单副本模式
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
6月前
|
消息中间件
【消息队列开发】 实现Router类——交换机的转发规则
【消息队列开发】 实现Router类——交换机的转发规则
|
6月前
|
消息中间件
【消息队列开发】 虚拟主机设计——放送消息到队列/交换机中
【消息队列开发】 虚拟主机设计——放送消息到队列/交换机中
|
6月前
|
消息中间件 安全 API
【消息队列开发】虚拟主机设计——操作交换机
【消息队列开发】虚拟主机设计——操作交换机
|
7月前
|
网络虚拟化 网络架构