RabbitMQ

  1. 信道(channel):信道是消息的生产者、消费者和服务器之间进行通信的虚拟连接。为什么叫"虚拟连接"?因为TCP连接的建立是非常消耗资源的,所以RabbitMQ在TCP连接的基础上构建了虚拟信道。我们尽量重复使用TCP连接,而信道是可以用完就关闭的
  2. 队列(queue):队列是用来进行消息收发的地方,生产者把消息放到队列中,消费者从队列中获取消息。
  3. 交换机(exchange):交换机用于把消息路由到一个或者多个队列中。

routing模式:

在这种模式中,生产者把消息发布到交换机中,消息会携带routingKey属性,交换机会根据routingKey的值把消息发送到一个或者多个队列;消费者会从队列中获取消息;交换机和队列都位于RabbitMQ服务器内部。这种模式的优点在于,即使消费者不在线,消费者相关的消息也会保存到队列中,当消费者上线后,就可以获取离线期间错过的消息。我们知道,在软件系统中,消息的生产者和消费者都不可能24小时在线,这种模式可以保证消费者收到因为服务器重启等原因而错过的消息。

相关推荐
开心码农1号15 小时前
Java rabbitMQ如何发送、消费消息、全套可靠方案
java·rabbitmq·java-rabbitmq
小白学大数据16 小时前
Scrapy 分布式爬虫:大规模采集汽车之家电车评论
开发语言·分布式·爬虫·scrapy
仗剑_走天涯17 小时前
hadoop reduce阶段 对象重用问题
大数据·hadoop·分布式
电磁脑机17 小时前
无总线场同步:意识本质、AGI困境与脑机革命的核心理论重构
分布式·神经网络·架构·信号处理·agi
leo_messi9417 小时前
RabbitMq(五) -- SpringBoot整合 RabbitMQ 完整实现
spring boot·rabbitmq·java-rabbitmq
半桶水专家17 小时前
kafka数据删除策略详解
分布式·kafka
一个有温度的技术博主18 小时前
Lua语法进阶:函数封装与条件控制的艺术
redis·分布式·缓存·lua
无心水18 小时前
2、5分钟上手|PyPDF2 快速提取PDF文本
java·linux·分布式·后端·python·架构·pdf
Jackyzhe18 小时前
从零学习Kafka:位移与高水位
分布式·学习·kafka
roman_日积跬步-终至千里18 小时前
【系统架构师-案例题-分布式数据缓存架构】22年下(3)分布式仓储货物管理系统
分布式·缓存·系统架构