1

vertx.io で Chronicle を使用する...

頂点ごとに新しい Chronicle を作成します。つまり、スレッドごとに 1 つのインスタンス。

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

これは、VanillaChronicle の場合ですが、IndexedChronicle の場合は問題ありません。

可能であれば、同じ VanillaChonicle インスタンスをバーティクル間で (もちろん同じプロセスで) 共有し、オンデマンドでアペンダーを作成することをお勧めします。

writeObject の代わりに WriteUtf* を使用して文字列をシリアル化すると、はるかに効率的であることに注意してください。

于 2015-11-13T16:26:42.477 に答える