本文へ移動

APIリファレンス:並行処理

etcdの並行処理APIリファレンス

このAPIリファレンスは、各見出しに記載した.protoファイルから自動生成されています。

サービス Lock (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)

ロックサービスは、クライアント側のロック機能をgRPCインターフェースとして公開します。

メソッド リクエスト型 レスポンス型 説明
Lock LockRequest LockResponse Lockは、指定した名前付きロックの分散共有ロックを取得します。成功すると、呼び出し元がロックを保持している間だけ存在する、一意のキーを返します。このキーをトランザクションと組み合わせることで、ロックの所有権を保持している間だけetcdの更新が行われることを安全に保証できます。ロックは、そのキーに対してUnlockを呼び出すか、所有者に関連付けられたリースが期限切れになるまで保持されます。
Unlock UnlockRequest UnlockResponse Unlockは、Lockが返したキーを受け取り、ロックの保持を解除します。すると、ロックを待っている次のLock呼び出し元が起こされ、ロックの所有権が与えられます。
メッセージ LockRequest (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)
フィールド 説明 型
name nameは、取得する分散共有ロックの識別子です。 bytes
lease leaseは、ロックの所有権に関連付けるリースのIDです。ロックを保持しているリースが期限切れになるか取り消されると、ロックは自動的に解放されます。同じリースによるLockの呼び出しは、1回の取得として扱います。同じリースで2回ロックしても、何も行いません。 int64
メッセージ LockResponse (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)
フィールド 説明 型
header etcdserverpb.ResponseHeader
key keyは、Lockの呼び出し元がロックを所有している間、etcd上に存在するキーです。このキーは変更しないでください。変更すると、ロックの動作が未定義になる可能性があります。 bytes
メッセージ UnlockRequest (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)
フィールド 説明 型
key keyは、Lockによって付与されたロック所有権のキーです。 bytes
メッセージ UnlockResponse (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)
フィールド 説明 型
header etcdserverpb.ResponseHeader
サービス Election (server/etcdserver/api/v3election/v3electionpb/v3election.proto)

選挙サービスは、クライアント側の選挙機能をgRPCインターフェースとして公開します。

メソッド リクエスト型 レスポンス型 説明
Campaign CampaignRequest CampaignResponse Campaignは、選挙でリーダーシップを取得するまで待機し、成功するとリーダーシップを表すLeaderKeyを返します。LeaderKeyは、その選挙で新しい値を発行すること、リーダーシップの保持を条件にトランザクションでAPIリクエストを保護すること、および選挙から辞任することに使用できます。
Proclaim ProclaimRequest ProclaimResponse Proclaimは、リーダーが公開している値を新しい値で更新します。
Leader LeaderRequest LeaderResponse Leaderは、現在の選挙の宣言があれば、それを返します。
Observe LeaderRequest LeaderResponse Observeは、選挙で選出されたリーダーによる宣言を、発行された順にストリーミングします。
Resign ResignRequest ResignResponse Resignは、他の立候補者がその選挙のリーダーシップを取得できるよう、リーダーシップを解放します。
メッセージ CampaignRequest (server/etcdserver/api/v3election/v3electionpb/v3election.proto)
フィールド 説明 型
name nameは、立候補する選挙の識別子です。 bytes
lease leaseは、その選挙のリーダーシップに関連付けられたリースのIDです。リーダーを辞任する前にリースが期限切れになるか取り消されると、次の立候補者がいる場合は、その立候補者にリーダーシップが移ります。 int64
value valueは、立候補者が選挙に勝ったときに設定する、最初の宣言値です。 bytes
メッセージ CampaignResponse (server/etcdserver/api/v3election/v3electionpb/v3election.proto)
フィールド 説明 型
header etcdserverpb.ResponseHeader
leader leaderは、その選挙のリーダーシップを保持するために使用するリソースを表します。 LeaderKey
メッセージ LeaderKey (server/etcdserver/api/v3election/v3electionpb/v3election.proto)
フィールド 説明 型
name nameは、リーダーシップキーに対応する選挙の識別子です。 bytes
key keyは、その選挙の所有権を表す不透明なキーです。キーを削除すると、リーダーシップは失われます。 bytes
rev revは、キーの作成リビジョンです。トランザクション中にキーの作成リビジョンがrevと一致するかを調べることで、選挙の所有権を検証できます。 int64
lease leaseは、その選挙のリーダーのリースIDです。 int64
メッセージ LeaderRequest (server/etcdserver/api/v3election/v3electionpb/v3election.proto)
フィールド 説明 型
name nameは、リーダーシップ情報を取得する選挙の識別子です。 bytes
メッセージ LeaderResponse (server/etcdserver/api/v3election/v3electionpb/v3election.proto)
フィールド 説明 型
header etcdserverpb.ResponseHeader
kv kvは、リーダーの最新の更新を表すキー・バリューペアです。 mvccpb.KeyValue
メッセージ ProclaimRequest (server/etcdserver/api/v3election/v3electionpb/v3election.proto)
フィールド 説明 型
leader leaderは、その選挙で保持しているリーダーシップです。 LeaderKey
value valueは、リーダーの現在の値を上書きするための更新値です。 bytes
メッセージ ProclaimResponse (server/etcdserver/api/v3election/v3electionpb/v3election.proto)
フィールド 説明 型
header etcdserverpb.ResponseHeader
メッセージ ResignRequest (server/etcdserver/api/v3election/v3electionpb/v3election.proto)
フィールド 説明 型
leader leaderは、辞任によって手放すリーダーシップです。 LeaderKey
メッセージ ResignResponse (server/etcdserver/api/v3election/v3electionpb/v3election.proto)
フィールド 説明 型
header etcdserverpb.ResponseHeader
メッセージ Event (api/mvccpb/kv.proto)
フィールド 説明 型
type typeはイベントの種類です。typeがPUTの場合、キーに新しいデータが保存されたことを示します。typeがDELETEの場合、キーが削除されたことを示します。 EventType
kv kvは、イベントのKeyValueを保持します。PUTイベントは現在のkvペアを含みます。kv.Version=1のPUTイベントは、キーが作成されたことを示します。DELETE/EXPIREイベントは、変更リビジョンが削除時のリビジョンに設定された、削除済みのキーを含みます。 KeyValue
prev_kv prev_kvは、イベント発生前のキー・バリューペアを保持します。 KeyValue
メッセージ KeyValue (api/mvccpb/kv.proto)
フィールド 説明 型
key keyは、バイト列で表したキーです。空のキーは許可されません。 bytes
create_revision create_revisionは、このキーが最後に作成されたリビジョンです。 int64
mod_revision mod_revisionは、このキーが最後に変更されたリビジョンです。 int64
version versionは、キーのバージョンです。削除するとバージョンは0にリセットされ、キーを変更するたびにバージョンが増加します。 int64
value valueは、キーが保持する値をバイト列で表したものです。 bytes
lease leaseは、キーに関連付けられたリースのIDです。関連付けられたリースが期限切れになると、キーは削除されます。leaseが0の場合、キーにリースは関連付けられていません。 int64