1

将 Chronicle 与 vertx.io 一起使用...

我为每个垂直创建一个新的编年史。即:每个线程一个实例。

chronicle = ChronicleQueueBuilder.indexed("samePath").build(); <-- This is created per thread to the same queue.

现在对于我所做的每个 web http POST 请求......每个帖子一次只由 1 个线程处理。

String message = request.toString();
ExcerptAppender appender = chronicle.createAppender();

// Configure the appender to write up to 100 bytes
appender.startExcerpt(message.length()+100);

// Copy the content of the Object as binary
appender.writeObject(message);

// Commit
appender.finish();

这似乎有效。但是可以吗?

4

1 回答 1

1

这对于 IndexedChronicle 来说是不行的,而对于 VanillaChronicle 来说是不行的。

如果可以的话,最好是在 Verticle 之间共享同一个 VanillaChonicle 实例(当然是在同一个进程上)并按需创建一个 appender。

请注意,您可以使用 WriteUtf* 而不是 writeObject 来序列化字符串,因为它更有效。

于 2015-11-13T16:26:42.477 回答