随笔分类 - RocketMQ
about rocketmq
摘要:我们先从client端看一个消息是如何发送到服务端,服务端又是如何解析消息的。 client端: 构造请求体: 构造请求体: 发送消息体: 下面看服务端: rocketmq的协议服务端解析救灾这里了RemotingCommand.decode(byteBuffer),我们来看下这个方法,具体是如何解
阅读全文
摘要:了解RocketMQ的都知道,它会保存所有的消息到本地文件。这个文件就是 MappedFile,每一个文件对应一个MappedFile.默认情况下大小位1g。 在MessageStoreConfig中的mapedFileSizeCommitLog设置,当然一半情况下是通过配置文件来设置的。文件路劲也
阅读全文
摘要:RocketMQ有很多的线程服务,这些服务都继承自抽象类ServiceThread。 这个抽象类可以单独抽出来用到我们其他的项目中来,仅仅需要修改下日志模块: 使用方法: 继承这个类,需要实现两个方法,一个来自runnable接口的run方法,一个是来自ServiceThread 的getServi
阅读全文
摘要:刚刚在研究rocketmq生成文件的源码。零时记录一下MapedFileQueue中属性AllocateMapedFileService allocateMapedFileService的初始化链。 首先这个服务实在DefaultMessageStore中初始化完成并启动的,然后DefaultMes
阅读全文
摘要:看完了上一篇的《RocketMQ 拉取消息-通信模块》,请求进入PullMessageProcessor中,接着 PullMessageProcessor.processRequest(final ChannelHandlerContext ctx, RemotingCommand request)
阅读全文
摘要:首先看server端:class NettyRemotingServer extends NettyRemotingAbstract implements RemotingServer 下面这个实现了com.alibaba.rocketmq.remoting.RemotingService中的sta
阅读全文
摘要:DefaultMessageStore 消息的存储和提取。 相对重要的两个方法: 消息存储 PutMessageResult putMessage(MessageExtBrokerInner msg) 消息获取 GetMessageResult getMessage(final String gro
阅读全文
摘要:两篇精彩的文章: 《RocketMQ源码 — 三、 Producer消息发送过程》 《RocketMQ源码解析:Message存储》 rocketmq通过netty获取到消息请求后,直接掉处理模块,比如:SendMessageProcessor 这个处理类主要负责处理客户端发送消息的请求。 这个类实
阅读全文
摘要:这个异步调用方法中传入一个final 回调对象。 我们往上面看看这个回调对象的回调方法:
阅读全文
摘要:RocketMQ之broker读取本地文件数据
阅读全文
摘要:发现rabbitmq有一个ConnectionFactory。发现rocketmq好像没这个东西。按道理来说如果每次发送消息都新建一条连接肯定是不可能的。 ps:其实之所以是有上面的疑问是因为数据库连接池那个地方来的,因为数据库连接connection并没有说是线程安全的,所以为了线程安全会为每个事
阅读全文
摘要:http://www.tuicool.com/articles/umQfMzA 1.序言 今天来和大家探讨一下RocketMQ在消息存储方面所作出的努力,在介绍RocketMQ的存储模型之前,可以先探讨一下MQ的存储模型选择。 2.MQ的存储模型选择 个人看来,从MQ的类型来看,存储模型分两种: 需
阅读全文
摘要:原创文章,转载请注明出处:http://jameswxx.iteye.com/blog/2093785 一 机器部署 1.1 机器组成 1台nameserver 1台broker 异步刷盘 2台producer 2台consumer 1.2 硬件配置 CPU 两颗x86_64cpu,每颗cpu12核
阅读全文