我正在使用 Chronicle Queue (CQ) 设置市场数据回测,从二进制文件读取数据然后写入单个 CQ,同时从该 CQ 读取数据并转储统计数据。我正在做一个 POC 来替换我们现有的实时市场数据馈送处理程序工作队列。在 Linux/SSD 设置上进行基本的读/写测试时,我看到读取落后于写入 - 事实上延迟正在累积。Appender 和 Tailer 都在同一主机上作为单独的进程运行。
想知道,如果我使用的代码有任何问题?
以下是代码片段 -
作家 - 在构造函数中 -
myQueue = SingleChronicleQueueBuilder.binary(queueName).build();
myAppender = myQueue.acquireAppender();
在数据回调中 -
myAppender.writeDocument(myDataPacket);
myQueue.close();
其中 myDataPacket 是包装 byte[] 和其他字段的 Java 对象。
Tailer - 在构造函数中 -
myQueue = SingleChronicleQueueBuilder.binary(queueName).build();
myTailer = myQueue.createTailer();
在读取方法中 -
while (notLastRecord)
{
if(myTailer.readDocument(myDataPacket))
{
notLastRecord = ;
//do stuff
}
}
myQueue.close();
非常感谢任何帮助。
谢谢,帕万