Справочник 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 |