現在テスト中です: 完了後にGitHubのコードを公開する予定です。

フェンシングトークン

  • 獲得応答Atoken単調増加するu64です。 キーや獲得の回数に関わらず、値は常にそれ以前に発行されたどのトークンよりも大きくなります。
  • シングルモードではサーバーのグローバルカウンタが単調性を保証し、クラスタモードでは 合意によって複製される発行番号そのものが使われます — トークンはコミットされた コマンドが適用される瞬間に決定的に割り当てられるため、すべてのノードが同じ値を計算し、 リーダー交代をまたいでも増加し続けます。
  • 保護対象のリソースが「最後に見たトークンより小さいトークンは拒否する」というルールを 適用していれば、lease失効後に遅れて目覚めた古い保有者(より小さいトークンを持つ)からの アクセスをブロックできます — ロックサーバーには制御できないクライアント側の遅延 (GCの一時停止など)に対する最後の防衛線です。

この検証が必要になる具体的なシナリオは動作原理を 参照してください。