RabbitMQ

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

routing模式:

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

相关推荐
一条大祥脚11 小时前
【CS336】lecture7 多卡|通信架构|集合通信|NCCL|通信原语|torch.distributed
分布式·架构·nccl·多机多卡·集合通信
程序员梅雨13 小时前
ZooKeeper面经总结
java·大数据·linux·分布式·后端·zookeeper·中间件
我是人✓14 小时前
Git入门:从零开始掌握分布式版本控制
分布式·git
墨神谕15 小时前
RabbitMQ 从入门到实战:核心原理、消息模型、可靠性机制与 Spring Boot 实战
spring boot·rabbitmq·java-rabbitmq
做个文艺程序员15 小时前
MQ第07篇:Java SaaS多租户消息隔离实战:RabbitMQ VHost+RocketMQ Tag+命名空间架构
spring boot·rabbitmq·rocketmq·saas·多租户
guo_wen_qiang17 小时前
redis持久化
数据库·redis·分布式
buligbulig18 小时前
Hadoop正在失败?不,它正在壮大
大数据·hadoop·分布式
十年Java程序媛18 小时前
Redis 分布式锁 + GZIP 压缩缓存踩坑|高并发缓存真实线上复盘
java·开发语言·spring boot·redis·分布式·缓存·面试
啦啦啦啦啦zzzz19 小时前
分布式存储----缓存组
linux·服务器·c++·分布式·缓存
guo_wen_qiang1 天前
kafka重复消费
分布式·kafka