问题标签 [chronicle-bytes]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
chronicle - 编年史写入在文件滚动时引入 1-2 秒延迟
我们有一个单线程 Java 进程,它将消息写入编年史队列。队列 ( SingleChronicleQueue ) 配置有 RollCycle HOURLY。在每小时标记处,当文件滚动发生时,编年史写入需要超过一秒(通常为 1-2 秒),这似乎发生在更大的文件大小(~50-90 GB)上。我们使用的是 4.5.x 编年史队列版本。关于如何解决这个问题的任何想法?
我使用 jstack 工具进行了线程转储,以查看线程卡在哪里。
memory-mapped-files - 多线程写入 MappedFile / MappedBytes
理论上是否可以使用来自同一内存映射文件不同位置的多个线程的 Chornicle Bytes(使用 MappedBytes / MappedFile)进行写入?
我需要注意什么?我有时会遇到分段错误。
java - 使用字节包装 ByteBuffer
我有一个编年史队列,其中有以下课程:
我使用这个类从队列中读取和写入。我需要与以以下格式接收此文本的内部库集成:ByteBuffer 和 byte[]。我需要发送具有正确大小且没有内存分配的文本,换句话说,我需要共享文本实例,因为我将此库应用于命令链模式,并且对于我的 poc 而言,低延迟时间很重要。
为了在没有内存分配的情况下提取字节 [],我使用以下策略:
在没有分配的情况下检索字节缓冲区也是可能的,但我现在不是最好的方法。
chronicle - Chronicle Queue 使用 readDocument 读取任何类型的消息
在编年史队列中,我写了两种类型的消息。我想使用相同的 tailer 阅读此消息,如果可以使用相同的方法,例如使用 tailer.readDocument()。
现在任何人都可以,如果可能的话,消息类型来自不同类型的对象。他们没有关系。
在我的实际阅读逻辑中,我需要阅读队列的所有条目,并且顺序很重要,例如:
队列 MessageA MessageA MessageB
在此示例中,我只需要在消息 A 之后读取消息 B,因此我正在寻找一种方法来读取与消息类型无关的所有条目。