![](/img/trans.png)
[英]Chronicle Queue: What is the recommended way to multiplex producers to write into a single queue?
[英]Chronicle Queue - reader modifying msg
我们正在准备使用编年史队列(SingleChronicleQueue)记录我们的消息。 原型正在工作。 但是,我们有一些问题。
读者可以修改消息吗? 我们使用历史记录地图来记录读取的索引,以在重新启动后删除重复的消息。 如果这不起作用,我们想标记在阅读器端读取的消息。 实际上我们已经做到了。 现在的问题是,有时我们会收到错误消息,例如“ 15c77d8be(62)was 8000003f is 3f”,并且我们怀疑这是因为跨高速缓存行边界的写入现在不再是原子的。 推荐的解决方法是什么? 当前,我们在消息前添加一个1字节的标记,请问添加3字节的填充是否可以解决问题?
我们可以使用自己的滚动策略吗? 我们想使用每小时政策。 但是,按小时的策略要求文件包含少于2.56亿个条目。 我们可以使用自定义滚动周期吗? 有什么警告吗?
一种常见的方法是在另一个输出队列中记录消费者的阅读索引。 重新启动时,只需从输出队列的末尾向后读取即可确定每个使用者的读取顺序。
如果看不到您的代码,则很难确定尝试修改现有记录的问题所在。 请注意,插入队列的记录应该是不可变的。 不支持从阅读器线程修改它们。
关于您的RollCycle要求,最近添加了LARGE_HOURLY周期,每个周期允许大约20亿个条目:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.