You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@rocketmq.apache.org by Zhanhui Li <li...@gmail.com> on 2018/06/04 12:46:41 UTC
Re: Hi,您好,我想请教您几个rocketmq的问题,不知道您方便么?
> 龚皓你好,
如果有大量的consume queue, 对系统确实还是有一些影响的. 下面解释下为什么这个影响可控.
1. 每一条消息, 对应的consume queue entry大小只有20字节. 也就是说, 一个queue里面, 发送200多条消息, 才需要一次IO去存储.
2. 由于consume queue完全可以从commit log中构造出来, consume queue的刷盘策略, 可以配置的更松弛一些, 比如每隔T刷盘一次. 这样可以进一步减少随机IO的量. 当然, 这里涉及内存和IO的一个平衡.
3. 实际生产上, 经常会把consume queue和commit log分配到不同的磁盘.
李战辉
> 在 2018年6月3日,下午7:52,龚皓 <36...@qq.com> 写道:
>
> 您好!
> 我们是一家中型互联网公司的,我对rocketmq支持海量topic的功能特别感兴趣,也特别疑惑。我看到就是说
> rocketmq相较于kafka,分离了consume queue文件和commit log文件。用户读写的时候都是顺序读写queue文件的,
> 但这个地方我就非常有点搞不懂。虽然是顺序读写,但是如果topic数量上万,上10w,还是会产生大量的磁盘随机读写(用来打开对应文件),
> 请问您在设计这个地方的是时候具体是使用了什么方式,或者需要什么特别的机器适配这种业务场景,或者还是什么其他地方我理解错了
> 非常打扰,万分感谢
> 环球易购
> 龚皓