首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Chronicle reader修改消息

Chronicle reader修改消息
EN

Stack Overflow用户
提问于 2017-11-08 16:18:58
回答 1查看 102关注 0票数 0

我们正准备使用编年史队列(SingleChronicleQueue)来记录我们的消息。原型现在可以工作了。然而,我们有一些问题。

读者可以修改消息吗?我们使用历史记录映射来记录索引读取,以便在重启后删除重复消息。如果这不起作用,我们希望标记在阅读器端读取的消息。实际上我们已经这样做了。现在的问题是,有时,我们会收到像"15c77d8be (62) was 8000003f is now 3f“这样的错误消息,我们怀疑这是因为现在跨缓存行边界的写入不再是原子的。推荐的解决方法是什么?目前我们在消息前加一个1字节的标签,加3个字节的填充能解决这个问题吗?

我们可以使用我们自己的滚动策略吗?我们想使用按小时计费的政策。但每小时策略要求文件包含的条目少于2.56亿条。我们可以使用我们的自定义滚动周期吗?有什么需要注意的吗?

EN

回答 1

Stack Overflow用户

发布于 2017-12-11 22:23:27

一种常见的方法是在另一个输出队列中记录消费者的读取索引。在重新启动时,只需从输出队列的末尾向后读取,即可确定每个使用者的读取序列。

如果看不到您的代码,就很难确定试图修改现有记录时可能出现的问题。请注意,插入到队列中的记录应该是不可变的;不支持从读取器线程修改它们。

关于您的RollCycle需求,最近添加了LARGE_HOURLY周期,每个周期允许大约20亿个条目:

https://github.com/OpenHFT/Chronicle-Queue/blob/master/src/main/java/net/openhft/chronicle/queue/RollCycles.java#L27

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47174666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档