MQ
文章平均质量分 93
d3y1
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Kafka高吞吐量机制深度解析
Kafka通过以下核心机制实现高吞吐量:- **顺序I/O和零拷贝**:最大化磁盘和网络性能- **批量处理**:减少网络请求和处理开销- **分区并行**:实现水平扩展和并行处理- **压缩优化**:平衡CPU和带宽使用- **网络优化**:高效的网络协议和连接管理理解这些机制并根据实际场景进行合理配置,可以充分发挥Kafka的高吞吐量优势,构建高性能的分布式数据处理系统。原创 2025-12-05 22:31:13 · 1005 阅读 · 0 评论 -
MQ-11消息队列综合对比
消息队列系统综合对比摘要:RabbitMQ、Kafka和RocketMQ在性能、功能、架构等方面各有特点。RabbitMQ适合复杂路由和多语言场景,吞吐量万级/秒;Kafka吞吐量百万级/秒,适合大数据和流处理;RocketMQ支持事务/顺序消息,适合金融级应用。选择需考虑业务需求、性能要求、运维能力等因素,没有绝对最优方案。RabbitMQ管理界面友好,Kafka扩展性强,RocketMQ可靠性高,三者分别适用于不同规模的业务场景。原创 2025-09-24 12:05:30 · 936 阅读 · 0 评论 -
MQ-10消息队列可靠性保障机制
本文详细对比了主流消息队列RabbitMQ、Kafka和RocketMQ的可靠性保障机制。消息队列可靠性主要包括三个方面:消息不丢失、不重复和有序性。RabbitMQ通过多层次确认机制(生产者确认、持久化队列、镜像队列)保障消息不丢失;Kafka采用多副本机制和ISR(同步副本)机制;RocketMQ则通过同步刷盘和主从复制实现。在消息不重复方面,各系统通过幂等性设计(唯一消息ID、去重表、状态检查)和有序投递机制来避免重复消费。文章通过流程图和代码示例展示了各机制的具体实现原理。原创 2025-09-24 11:56:51 · 1182 阅读 · 0 评论 -
MQ-09Kafka之算法源码
Kafka分区分配机制解析:生产者使用DefaultPartitioner实现基于Murmur2哈希的键控分区或轮询粘性分区策略,消费者则通过RangeAssignor进行范围分配。生产者源码展示了键值哈希取模和轮询两种分区逻辑,消费者源码演示了按主题对消费者排序后平均分配分区的过程。两种分配策略都设计为高效且可扩展,确保消息均匀分布。原创 2025-09-24 11:53:02 · 830 阅读 · 0 评论 -
MQ-08Kafka之消息流程
Kafka消息生命周期包含生产、存储和消费三个阶段。生产者使用分区器选择目标分区,消息经过序列化后批量发送到Broker。Leader节点接收消息后写入本地日志并同步到Follower副本,通过ISR机制管理副本同步状态。消费者从Broker拉取消息并提交偏移量。整个流程涉及分区选择、日志分段、索引查找和副本同步等核心机制,保障了消息的可靠传输和高吞吐量。原创 2025-09-24 11:51:43 · 1008 阅读 · 0 评论 -
MQ-07Kafka之架构详解
Apache Kafka是一个分布式流处理平台,核心架构包括Broker集群、Topic/Partition机制、副本系统、存储层和协调器。Broker作为核心节点处理消息存储和请求;Topic按逻辑分类消息,Partition实现物理分片;副本机制保障高可用性;存储层采用日志分段结构;协调器管理消费者组和事务状态。整个系统通过Zookeeper进行集群协调,支持高吞吐、可扩展的实时数据处理,适用于构建复杂的数据管道和流应用场景。原创 2025-09-24 11:50:29 · 967 阅读 · 0 评论 -
MQ-06RocketMQ之算法源码
RocketMQ核心路由机制源码解析 Apache RocketMQ通过NameServer实现了高效的消息路由机制,其核心在于RouteInfoManager类。该组件采用读写锁保证并发安全,维护5个核心数据结构: topicQueueTable - 记录Topic与Queue的映射 brokerAddrTable - 存储Broker基础信息 clusterAddrTable - 管理集群拓扑 brokerLiveTable - 跟踪Broker存活状态 filterServerTable - 保存过滤原创 2025-09-24 11:46:56 · 909 阅读 · 0 评论 -
MQ-05RocketMQ之消息流程
RocketMQ消息流程详解:从生产者到消费者的完整生命周期包含路由发现、消息发送、存储和消费等关键环节。生产者通过NameServer获取路由信息,选择队列并发送消息;Broker接收消息后写入CommitLog并更新ConsumeQueue;消费者拉取消息并提交消费进度。存储阶段采用MappedFile内存映射技术,支持同步/异步刷盘策略,同时构建ConsumeQueue索引加速消费。整个流程通过多组件协作实现高效可靠的消息传递,支持多种队列选择算法和消息压缩方式,确保不同场景下的消息处理需求。原创 2025-09-24 11:41:14 · 368 阅读 · 0 评论 -
MQ-04RocketMQ之架构详解
Apache RocketMQ是一个高性能分布式消息中间件,采用主从架构设计。其核心组件包括:NameServer(轻量级服务发现)、Broker集群(Master-Slave模式的消息存储转发节点)和消息存储机制(CommitLog顺序写+ConsumeQueue逻辑队列)。系统支持同步/异步复制、顺序消息、事务消息等特性,通过CommitLog统一存储消息,ConsumeQueue维护逻辑队列,实现高吞吐(10万级TPS)和低延迟(毫秒级)。架构设计兼顾性能与可靠性,适合金融级应用场景。原创 2025-09-24 11:39:15 · 374 阅读 · 0 评论 -
MQ-03RabbitMQ之算法源码
本文展示了RabbitMQ中两种核心交换器(Direct和Topic)的路由算法实现,以及队列索引机制的源码实现。Direct交换器通过精确匹配路由键和绑定键实现消息路由,Topic交换器则支持通配符模式匹配。队列索引模块采用日志文件和段文件相结合的方式,确保消息持久化和投递状态的可靠记录。所有实现均采用Erlang语言编写,展示了RabbitMQ高效消息路由和持久化的核心机制。原创 2025-09-24 11:30:04 · 430 阅读 · 0 评论 -
MQ-02RabbitMQ之消息流程
RabbitMQ消息流程详解摘要: RabbitMQ消息生命周期包含五个关键阶段:1)消息创建阶段,生产者构建消息内容和属性;2)消息发送阶段,建立TCP连接并通过通道验证权限;3)消息路由阶段,交换器根据类型(Direct/Topic/Fanout/Headers)路由消息;4)消息存储阶段,队列检查持久化设置并写入磁盘;5)消息消费阶段,支持推/拉两种模式,包含手动确认和自动确认机制。消息流程中还包含生产者确认和消费者确认双重保障机制,确保消息可靠传递。整个流程通过TCP连接、通道验证、交换器路由、队列原创 2025-09-24 11:18:12 · 427 阅读 · 0 评论 -
MQ-01RabbitMQ之架构详解
RabbitMQ是一个开源消息代理系统,采用AMQP协议实现分布式系统间的消息传递。其核心架构包含生产者、消费者、连接通道、虚拟主机、交换器(Direct/Topic/Fanout/Headers)和队列等组件,支持集群部署(磁盘/内存节点)和队列镜像保障高可用。通过内存管理、流控机制和网络优化提升性能,同时提供认证授权、SSL加密等安全功能。RabbitMQ架构具有灵活性、可靠性、可扩展性等特点,适合需要复杂路由和高可靠性的企业应用场景。原创 2025-09-24 10:23:05 · 871 阅读 · 0 评论
分享