Перейти к содержанию

Справочник API: конкурентность

Справочник по API конкурентности etcd

Этот справочник API автоматически создан из указанных файлов .proto.

служба Lock (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)

Служба блокировок предоставляет клиентские средства блокировки через интерфейс gRPC.

МетодТип запросаТип ответаОписание
LockLockRequestLockResponseLock получает распределённую совместную блокировку с указанным именем. При успехе возвращается уникальный ключ, существующий, пока вызывающая сторона удерживает блокировку. Вместе с транзакциями ключ позволяет безопасно гарантировать, что etcd обновляется только при владении блокировкой. Блокировка удерживается до вызова Unlock для ключа или истечения аренды владельца.
UnlockUnlockRequestUnlockResponseUnlock принимает ключ, возвращённый Lock, и освобождает блокировку. Следующий ожидающий вызов Lock пробуждается и получает владение блокировкой.
сообщение LockRequest (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)
ПолеОписаниеТип
namename — идентификатор получаемой распределённой совместной блокировки.bytes
leaselease — идентификатор аренды, привязанной к владению блокировкой. Если удерживающая блокировку аренда истекает или отзывается, блокировка освобождается автоматически. Вызовы Lock с одной арендой считаются одним получением; повторная блокировка с той же арендой ничего не делает.int64
сообщение LockResponse (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)
ПолеОписаниеТип
headeretcdserverpb.ResponseHeader
keykey — ключ, существующий в etcd, пока вызывающая Lock сторона владеет блокировкой. Пользователи не должны изменять ключ, иначе поведение блокировки не определено.bytes
сообщение UnlockRequest (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)
ПолеОписаниеТип
keykey — ключ владения блокировкой, выданный Lock.bytes
сообщение UnlockResponse (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)
ПолеОписаниеТип
headeretcdserverpb.ResponseHeader
служба Election (server/etcdserver/api/v3election/v3electionpb/v3election.proto)

Служба выборов предоставляет клиентские средства выборов через интерфейс gRPC.

МетодТип запросаТип ответаОписание
CampaignCampaignRequestCampaignResponseCampaign ожидает получения лидерства на выборах и при успехе возвращает представляющий его LeaderKey. Затем LeaderKey можно использовать для публикации новых значений выборов, транзакционной защиты запросов API условием сохранения лидерства и отказа от участия.
ProclaimProclaimRequestProclaimResponseProclaim заменяет опубликованное лидером значение новым.
LeaderLeaderRequestLeaderResponseLeader возвращает текущее объявление выборов, если оно существует.
ObserveLeaderRequestLeaderResponseObserve потоково передаёт объявления выборов в порядке их публикации избранными лидерами.
ResignResignRequestResignResponseResign освобождает лидерство, чтобы его мог получить другой кандидат.
сообщение CampaignRequest (server/etcdserver/api/v3election/v3electionpb/v3election.proto)
ПолеОписаниеТип
namename — идентификатор выборов для кампании.bytes
leaselease — идентификатор аренды, привязанной к лидерству на выборах. Если аренда истекает или отзывается до отказа от лидерства, оно передаётся следующему кандидату, если он есть.int64
valuevalue — начальное объявленное значение, задаваемое после победы кандидата.bytes
сообщение CampaignResponse (server/etcdserver/api/v3election/v3electionpb/v3election.proto)
ПолеОписаниеТип
headeretcdserverpb.ResponseHeader
leaderleader описывает ресурсы, используемые для удержания лидерства на выборах.LeaderKey
сообщение LeaderKey (server/etcdserver/api/v3election/v3electionpb/v3election.proto)
ПолеОписаниеТип
namename — идентификатор выборов, соответствующий ключу лидерства.bytes
keykey — непрозрачный ключ, представляющий владение выборами. При удалении ключа лидерство теряется.bytes
revrev — ревизия создания ключа. В транзакциях она позволяет проверить владение выборами, сравнив ревизию создания ключа с rev.int64
leaselease — идентификатор аренды лидера выборов.int64
сообщение LeaderRequest (server/etcdserver/api/v3election/v3electionpb/v3election.proto)
ПолеОписаниеТип
namename — идентификатор выборов для сведений о лидерстве.bytes
сообщение LeaderResponse (server/etcdserver/api/v3election/v3electionpb/v3election.proto)
ПолеОписаниеТип
headeretcdserverpb.ResponseHeader
kvkv — пара «ключ — значение», представляющая последнее обновление лидера.mvccpb.KeyValue
сообщение ProclaimRequest (server/etcdserver/api/v3election/v3electionpb/v3election.proto)
ПолеОписаниеТип
leaderleader — удерживаемое лидерство на выборах.LeaderKey
valuevalue — обновление, заменяющее текущее значение лидера.bytes
сообщение ProclaimResponse (server/etcdserver/api/v3election/v3electionpb/v3election.proto)
ПолеОписаниеТип
headeretcdserverpb.ResponseHeader
сообщение ResignRequest (server/etcdserver/api/v3election/v3electionpb/v3election.proto)
ПолеОписаниеТип
leaderleader — лидерство, освобождаемое при отказе.LeaderKey
сообщение ResignResponse (server/etcdserver/api/v3election/v3electionpb/v3election.proto)
ПолеОписаниеТип
headeretcdserverpb.ResponseHeader
сообщение Event (api/mvccpb/kv.proto)
ПолеОписаниеТип
typetype — вид события. PUT означает запись новых данных в ключ, DELETE — удаление ключа.EventType
kvkv содержит KeyValue события. Событие PUT содержит текущую пару kv. PUT с kv.Version=1 означает создание ключа. DELETE/EXPIRE содержит удалённый ключ, ревизия изменения которого равна ревизии удаления.KeyValue
prev_kvprev_kv содержит пару «ключ — значение» до события.KeyValue
сообщение KeyValue (api/mvccpb/kv.proto)
ПолеОписаниеТип
keykey — ключ в байтах. Пустой ключ запрещён.bytes
create_revisioncreate_revision — ревизия последнего создания этого ключа.int64
mod_revisionmod_revision — ревизия последнего изменения этого ключа.int64
versionversion — версия ключа. Удаление сбрасывает версию в ноль, а любое изменение увеличивает её.int64
valuevalue — значение ключа в байтах.bytes
leaselease — идентификатор аренды, привязанной к ключу. После истечения аренды ключ удаляется. Если lease равно 0, аренда к ключу не привязана.int64