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

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

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

Этот справочник 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 — идентификатор аренды, привязанной к владению блокировкой. Если удерживающая блокировку аренда истекает или отзывается, блокировка освобождается автоматически. Вызовы Lock с одной арендой считаются одним получением; повторная блокировка с той же арендой ничего не делает. int64
сообщение LockResponse (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)
Поле Описание Тип
header etcdserverpb.ResponseHeader
key key — ключ, существующий в etcd, пока вызывающая Lock сторона владеет блокировкой. Пользователи не должны изменять ключ, иначе поведение блокировки не определено. 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 — идентификатор аренды, привязанной к лидерству на выборах. Если аренда истекает или отзывается до отказа от лидерства, оно передаётся следующему кандидату, если он есть. 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 — идентификатор аренды лидера выборов. 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 — вид события. PUT означает запись новых данных в ключ, DELETE — удаление ключа. EventType
kv kv содержит KeyValue события. Событие PUT содержит текущую пару kv. PUT с kv.Version=1 означает создание ключа. 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 — версия ключа. Удаление сбрасывает версию в ноль, а любое изменение увеличивает её. int64
value value — значение ключа в байтах. bytes
lease lease — идентификатор аренды, привязанной к ключу. После истечения аренды ключ удаляется. Если lease равно 0, аренда к ключу не привязана. int64