Aller au contenu

Référence API : concurrence

Référence des API de concurrence etcd

Cette référence d’API est générée automatiquement à partir des fichiers nommés .proto.

service Lock (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)

Le service de verrouillage expose des fonctionnalités de verrouillage côté client sous forme d’une interface gRPC.

MéthodeType de requêteType de réponseDescription
LockLockRequestLockResponseLock acquiert un verrou partagé distribué sur un verrou nommé donné. En cas de succès, elle retourne une clé unique qui reste existante tant que le verrou est détenu par l’appelant. Cette clé peut être utilisée conjointement avec des transactions afin de garantir en toute sécurité que les mises à jour sur etcd ne s’effectuent qu’en tenant le verrou. Le verrou est détenu jusqu’à ce que Unlock soit appelé sur la clé ou que le bail associé au propriétaire expire.
UnlockUnlockRequestUnlockResponseUnlock prend une clé retournée par Lock et libère la possession du verrou. Le prochain appelant de Lock en attente du verrou est alors réveillé et obtient la possession du verrou.
message LockRequest (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)
ChampDescriptionType
namename est l’identifiant de la verrouille partagée distribuée à acquérir.bytes
leaselease est l’ID du bail qui sera attaché à la possession du verrou. Si le bail expire ou est révoqué et qu’il détient actuellement le verrou, celui-ci est automatiquement libéré. Les appels à Lock avec le même bail seront traités comme une seule acquisition ; verrouiller deux fois avec le même bail est sans effet.int64
message LockResponse (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)
ChampDescriptionType
headeretcdserverpb.ResponseHeader
keykey est une clé qui existera dans etcd pendant toute la durée où l’appelant du verrou détient le verrou. Les utilisateurs ne doivent pas modifier cette clé, sinon le verrou peut présenter un comportement indéfini.bytes
message UnlockRequest (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)
ChampDescriptionType
keykey est la clé d’acquisition du verrou octroyée par Lock.bytes
message UnlockResponse (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)
ChampDescriptionType
headeretcdserverpb.ResponseHeader
service Election (server/etcdserver/api/v3election/v3electionpb/v3election.proto)

Le service d’élection expose des fonctionnalités d’élection côté client sous forme d’une interface gRPC.

MéthodeType de requêteType de réponseDescription
CampaignCampaignRequestCampaignResponseCampaign attend d’acquérir le leadership lors d’une élection, en retournant une clé de leader représentant le leadership si l’opération réussit. Cette clé de leader peut ensuite être utilisée pour publier de nouvelles valeurs dans l’élection, protéger transactionnellement les requêtes d’API en fonction du maintien du leadership, ou se retirer de l’élection.
ProclaimProclaimRequestProclaimResponseProclaim met à jour la valeur publiée par le leader avec une nouvelle valeur.
LeaderLeaderRequestLeaderResponseLeader retourne la proclamation actuelle de l’élection, le cas échéant.
ObserveLeaderRequestLeaderResponseObserve diffuse les proclamations d’élection dans l’ordre, telles qu’elles sont émises par les leaders élus.
ResignResignRequestResignResponseResign libère le leadership de l’élection afin que d’autres candidats puissent acquérir le leadership.
message CampaignRequest (server/etcdserver/api/v3election/v3electionpb/v3election.proto)
ChampDescriptionType
namename est l’identifiant de l’élection pour la campagne.bytes
leaselease est l’ID du bail associé à la direction de l’élection. Si le bail expire ou est révoqué avant la démission de la direction, la direction est transférée au prochain candidat, le cas échéant.int64
valuevalue est la valeur déclarée initiale définie lorsque le candidat remporte l’élection.bytes
message CampaignResponse (server/etcdserver/api/v3election/v3electionpb/v3election.proto)
ChampDescriptionType
headeretcdserverpb.ResponseHeader
leaderleader décrit les ressources utilisées pour la détention du rôle de leader lors de l’élection.LeaderKey
message LeaderKey (server/etcdserver/api/v3election/v3electionpb/v3election.proto)
ChampDescriptionType
namename est l’identifiant d’élection correspondant à la clé de leadership.bytes
keykey est une clé opaque représentant la possession de l’élection. Si la clé est supprimée, le leadership est perdu.bytes
revrev est la révision de création de la clé. Elle peut être utilisée pour vérifier la possession d’une élection au cours de transactions en testant que la révision de création de la clé correspond à rev.int64
leaselease est l’ID du bail du leader de l’élection.int64
message LeaderRequest (server/etcdserver/api/v3election/v3electionpb/v3election.proto)
ChampDescriptionType
namename est l’identifiant d’élection pour les informations de leadership.bytes
message LeaderResponse (server/etcdserver/api/v3election/v3electionpb/v3election.proto)
ChampDescriptionType
headeretcdserverpb.ResponseHeader
kvkv est la paire clé-valeur représentant la mise à jour récente du leader.mvccpb.KeyValue
message ProclaimRequest (server/etcdserver/api/v3election/v3electionpb/v3election.proto)
ChampDescriptionType
leaderleader est la détenue du leadership lors de l’élection.LeaderKey
valuevalue est une mise à jour destinée à remplacer la valeur actuelle du leader.bytes
message ProclaimResponse (server/etcdserver/api/v3election/v3electionpb/v3election.proto)
ChampDescriptionType
headeretcdserverpb.ResponseHeader
message ResignRequest (server/etcdserver/api/v3election/v3electionpb/v3election.proto)
ChampDescriptionType
leaderleader est la prise de leadership à abandonner par démission.LeaderKey
message ResignResponse (server/etcdserver/api/v3election/v3electionpb/v3election.proto)
ChampDescriptionType
headeretcdserverpb.ResponseHeader
message Event (api/mvccpb/kv.proto)
ChampDescriptionType
typetype est le type d’événement. Si type est un PUT, cela indique que de nouvelles données ont été stockées pour la clé. Si type est un DELETE, cela indique que la clé a été supprimée.EventType
kvkv contient la paire clé-valeur pour l’événement. Un événement PUT contient la paire clé-valeur actuelle. Un événement PUT avec kv.Version=1 indique la création d’une clé. Un événement DELETE/EXPIRE contient la clé supprimée, avec sa révision de modification définie à la révision de la suppression.KeyValue
prev_kvprev_kv contient la paire clé-valeur avant l’événement.KeyValue
message KeyValue (api/mvccpb/kv.proto)
ChampDescriptionType
keykey est la clé sous forme d’octets. Une clé vide n’est pas autorisée.octets
create_revisioncreate_revision est la révision de la dernière création sur cette clé.int64
mod_revisionmod_revision est la révision de la dernière modification sur cette clé.int64
versionversion est la version de la clé. Une suppression réinitialise la version à zéro, et toute modification de la clé augmente sa version.int64
valuevalue est la valeur stockée par la clé, sous forme d’octets.octets
bailbail est l’ID du bail associé à la clé. Lorsque le bail associé expire, la clé sera supprimée. Si bail est 0, aucun bail n’est associé à la clé.int64