rocketmq的存储数据结构

存储结构:

    commit log最简单原始的偏移量存储机制,先存存再得到offset(偏移量), (参考文档http://blog.csdn.net/column/details/learningrocketmq.html)

    index log索引文件使用的是hash存储机制, key通过 (topic+key)%槽位数得到,value为commitlog的物理偏移量phyOffset (参考文档 http://blog.csdn.net/quhongwei_zhanqiu/article/details/39153195 )

   consumer queue 也是采用最简单的偏移量数组存储机制,并且每个消息大小一致,value是commitlog里的文件和偏移量. 告诉消费者哪些消息是要消费.

是否满足业务需求:

  1.由于每个consumer queue只记录当前消费的值,采用顺序推进的形式消费,所以不会出现大量的随机读取,性能较好.

  2.不需要区间搜索,但能满足key搜索.用于消息查看, 用于事务状态修改等.


这个是很好的rocketmq 专题

http://blog.csdn.net/column/details/learningrocketmq.html

你可能感兴趣的:(jms,rocketmq)