分布式消息队列RocksDB/LevelDB应该如何操作?

分布式消息队列RocksDB/LevelDB应该如何操作?

展开
收起
kun坤 2020-04-23 20:04:46 1700 分享 版权
1 条回答
写回答
取消 提交回答
  • #RocksDB/LevelDB 我们之前介绍RocketMQ在开源版本中只实现了18个Level的延时消息,但是有很多公司基于RocketMQ做了自己的一套支持任意时间的延时消息,在美团内部封装了RocketMQ使用LevelDB做了对延时消息的封装,在滴滴开源的DDMQ中,使用了RocksDB对RocketMQ的延时消息部分进行了封装。

    其原理基本和Mysql类似,如下图所示:

    2.jpg 为什么同样是数据库RocksDB会比Mysql更加合适呢?因为RocksDB的特性是LSM树,其使用场景适用于大量写入,和消息队列的场景更加契合,所以这个也是滴滴和美团选择其作为延时消息封装的存储介质。

    2020-04-23 20:04:54
    赞同 展开评论
问答分类:
问答标签:

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系列产品 Serverless 化。RocketMQ 中文社区:https://rocketmq-learning.com/

还有其他疑问?
咨询AI助理