咨询一个问题,Apache RocketMQ中RMQ streams如何从checkpoint 中?

咨询一个问题,Apache RocketMQ中RMQ streams如何从checkpoint 中恢复数据? 类似Fink 有大佬可以帮忙解答一下么,一直没有找到相关文档?我刚才在本地环境,但是我在本地出现这么一个现象 生产者 先发送十条数据,wordCount 输出对应的统计,重启有时候wordCount 会自动再次累加10条数据 , 但是生产者还没生产数据,过段时间重启wordCount,生产者再次发送数据,则没有恢复数据,只是从本地消息开始累计。有点奇怪,是不是我使用的姿势有问题,还是说其中有什么机制?你说的这几个方法我没有找到(RMQ 5.1.1-SNAPSHOT, RMQ Streams 1.1.2-SNAPSHOT),

展开
收起
真的很搞笑 2023-05-23 20:00:39 136 分享 版权
2 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    关于Apache RocketMQ中RMQ Streams如何从checkpoint中恢复数据的问题,RMQ Streams会定期将处理过的数据写入到checkpoint中,以备后续从故障中恢复。您可以通过配置检查点设置来控制检查点的位置和时间间隔。

    至于您提到的另一个问题,即当重启WordCount时,有时会自动累加数据,有时需要重新发送数据才能累积,这可能是因为WordCount应用程序的状态并没有得到恰当的存储和恢复,或者因为您在重启时更改了输入数据的来源或分配情况。您可以尝试使用有状态的流处理器(stateful stream processor)来保留WordCount运行状态的持久性记录,以及检查输入数据的分配情况,确保数据发送到正确的目标。

    2023-05-23 23:07:39
    赞同 展开评论
  • 不需要自己去checkpoint会恢复数据,source会提供接口,在执行checkpoint时保存数据,从状态中恢复运行时将恢复数据拿出来。可以看看RocketMQSource#restoreEnumerator和RocketMQSourceEnumerator中snapshotState等方法?这个版本里面看看,https://github.com/apache/rocketmq-flink,此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”

    2023-05-23 20:10:27
    赞同 展开评论

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

收录在圈子:
+ 订阅
阿里云 云原生应用平台 肩负阿里巴巴集团基础设施云化以及核心技术互联网化的重要职责,致力于打造稳定、标准、先进的云原生产品,成为云原生时代的引领者,推动行业全面想云原生的技术升级,成为阿里云新增长引擎。商业化产品包括容器、云原生中间件、函数计算等。
还有其他疑问?
咨询AI助理