- 博客(5)
- 资源 (3)
- 收藏
- 关注
原创 RocketMQ消息拉取consumer端实现
在Apache RocketMQ中,消费者(Consumer)通过拉取(Pull)或推送(Push)模式来获取消息。但是在传统Push模式下可能会造成consumer端压力过大或处理不过来的场景,所以在RocketMQ统一采取手动Pull模式。
2024-05-08 11:35:46
440
原创 RocketMQ中consumeQueue消息索引建立
到这里可以看到,cq文件大题的逻辑和commitlog文件很相似,只有很小的差距,这样做我们就能在代码上有最大化的重用。consumeQueue是个对commitlog进行的索引文件。有了索引文件在消费消息时就不需要遍历commitlog,能够快速定位消息。下一期就看下在消费时这个文件是如何使用的吧。
2024-05-05 16:51:34
1028
原创 RocketMQ消息存储过程
持久化在计算机系统中具有极其重要的地位,尤其是在诸如消息队列、数据库等需要保证数据完整性和可靠性的场景中。:持久化能够保证数据在硬件故障、系统崩溃或断电等情况发生后仍能保持完整,避免数据丢失。在RocketMQ中,消息一旦被持久化到磁盘,即使Broker服务出现异常重启,也能从磁盘恢复未被消费的消息。:对于涉及多个操作的事务处理,持久化可以作为事务提交的关键步骤,只有当数据成功写入持久化存储后,事务才能被认为已成功完成。这对于分布式事务、消息队列的事务消息等功能至关重要。
2024-05-04 17:27:55
847
原创 Java中nio的bytebuffer常用方法解读
在Java中,ByteBuffer是Java NIO(New Input/Output)库中的一个重要类,主要用于高效地处理原始字节数据。它是 java.nio.Buffer 抽象类的一个子类,专门设计用来读写字节流,尤其是在进行文件I/O操作、网络通信、数据打包与解包等场景中非常有用。
2024-04-30 11:31:17
786
原创 RocketMq broker启动如何恢复commitlog的offset
RocketMQ,作为阿里巴巴开源的分布式消息中间件,以其高吞吐、低延迟、高可用的特性,在众多企业级应用中扮演着至关重要的角色。在RocketMQ的体系架构中,Broker作为消息存储和转发的核心组件,其启动过程及文件加载机制是确保系统稳定运行的关键一环。本文将深入探讨RocketMQ Broker的启动流程,特别是它如何高效、有序地加载关键配置文件与数据文件,为读者揭开这一核心组件内部运作的神秘面纱。
2024-04-29 17:12:24
679
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人