0

イベント処理アプリケーションで、ジャーナリングの目的で、処理されたすべてのイベントのシーケンス番号を記録したいと考えています。これらのシーケンス番号は一意である必要があるため、再起動時に、アプリケーションは既に使用されている最大の番号 (ウォーターマーク) を取得し、新しいイベントにより大きな番号を割り当てる必要があります。

アプリケーションは、すでにシーケンスの概念を持つLMAX ディスラプターを使用します。リング バッファーへのすべてのパブリッシュとリング バッファーからの読み取りは、シーケンス番号に関連付けられています。ただし、その番号はシステムの再起動時に 0 にリセットされます。ディスラプターを開始する前に、初期シーケンス番号を特定の値に設定する方法はありますか?

別の解決策は、ディスラプターによって提供されたシーケンス以降の再起動番号を使用し、起動時に読み取られたウォーターマークを追加することですが、その操作はグローバルシーケンス番号が必要なすべての場所で実行する必要があるため、ディスラプターが中央に保持している番号に頼ることができました。

4

2 に答える 2