2016-09-09 7 views
0

distributedlog AsynchronousLogReaderを使用して、分散ログストリームからレコードを読み取りました。ストリームの各ログレコードについて、関連する2つのシーケンス番号があることがわかりました.1つはトランザクションIDで、もう1つはシーケンスIDです。読み取り位置を追跡するためにどちらを使用すればよいですか?メールリストでdistributedlog著者の1からの回答に基づく分散ログレコードのトランザクションIDとシーケンスIDの違いは何ですか?

答えて

0

:要するに

を、トランザクションIDは、アプリケーション付属のシーケンス番号です。それは非減少である必要があります。ユーザーは通常、トランザクションIDを時間またはオフセットのいずれかで巻き戻すために、トランザクションIDとしてタイムスタンプまたはオフセット(これまでに書き込まれたバイト)のいずれかを使用します。

シーケンスIDはシステム生成シーケンス番号です。これは、ストリーム内のログレコードのグローバルシーケンスを示します。 Raft https://raft.github.io/raft.pdfに精通している場合は、Raftのlog * index *と同じです。シーケンスIDには2つの典型的な使用例があります。シーケンスIDを使用して、任意の2つのレコードの間にあるレコードの数を識別できます。シーケンスIDを使用して、配送シーケンスの健全性チェックを行うことができます。

APIのページで説明http://distributedlog.io/api/core.html#sequence-numbers

+0

それが今の私には非常に明確であるにもあります。 –

関連する問題