<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Внутренности on PIG.CENTER</title><link>https://pig.center/ru/docs/etcd/dev-internal/</link><description>Recent content in Внутренности on PIG.CENTER</description><generator>Hugo</generator><language>ru-RU</language><lastBuildDate>Tue, 08 Sep 2026 21:29:01 +0800</lastBuildDate><atom:link href="https://pig.center/ru/docs/etcd/dev-internal/index.xml" rel="self" type="application/rss+xml"/><item><title>Протокол службы обнаружения</title><link>https://pig.center/ru/docs/etcd/dev-internal/discovery_protocol/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/ru/docs/etcd/dev-internal/discovery_protocol/</guid><description>&lt;p&gt;Протокол службы обнаружения помогает новому участнику etcd найти остальных участников на этапе начальной инициализации кластера с помощью общего токена обнаружения и списка конечных точек.&lt;/p&gt;&#10;&lt;p&gt;Протокол используется &lt;em&gt;только&lt;/em&gt; во время начальной инициализации и не подходит для реконфигурации во время выполнения или мониторинга кластера.&lt;/p&gt;&#10;&lt;p&gt;Один новый токен обнаружения предназначен для инициализации одного &lt;em&gt;уникального&lt;/em&gt; кластера etcd. Один токен может представлять только один кластер. После запуска протокола для токена его нельзя использовать для инициализации другого кластера etcd, даже если первый процесс завершился с ошибкой на полпути.&lt;/p&gt;</description></item><item><title>Соглашения по ведению журнала</title><link>https://pig.center/ru/docs/etcd/dev-internal/logging/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/ru/docs/etcd/dev-internal/logging/</guid><description>&lt;p&gt;etcd использует библиотеку &lt;a href="https://github.com/uber-go/zap"&gt;zap&lt;/a&gt;&#10; для ведения журнала вывода приложения, категоризированного по &lt;em&gt;уровням&lt;/em&gt;. Уровень сообщения в журнале определяется в соответствии со следующими соглашениями:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Логи DebugLevel обычно объёмные и обычно отключены в рабочей среде.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Примеры:&#10;&lt;ul&gt;&#10;&lt;li&gt;Отправка обычного сообщения удалённому узлу&lt;/li&gt;&#10;&lt;li&gt;Запись записи журнала на диск&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Уровень InfoLevel является уровнем ведения журнала по умолчанию.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Примеры:&#10;&lt;ul&gt;&#10;&lt;li&gt;Конфигурация при запуске&lt;/li&gt;&#10;&lt;li&gt;Начало создания снимка&lt;/li&gt;&#10;&lt;li&gt;Добавление нового узла в кластер&lt;/li&gt;&#10;&lt;li&gt;Добавление нового пользователя в подсистему аутентификации&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Журналы уровня Warn более важны, чем Info, но не требуют индивидуального человеческого контроля.&lt;/p&gt;</description></item><item><title>Модули Golang</title><link>https://pig.center/ru/docs/etcd/dev-internal/modules/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/ru/docs/etcd/dev-internal/modules/</guid><description>&lt;p&gt;Начиная с версии 3.5 проект etcd организован как несколько&#10;&lt;a href="https://golang.org/ref/mod"&gt;модулей Golang&lt;/a&gt;&#10;, размещённых в &lt;a href="https://golang.org/ref/mod#vcs-dir"&gt;одном репозитории&lt;/a&gt;&#10;.&lt;/p&gt;&#10;&lt;img class="td-image" src="https://pig.center/docs/etcd/dev-internal/img/modules.svg" alt="Граф модулей" loading="lazy" decoding="async"&gt;&lt;p&gt;Проект включает следующие модули:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;go.etcd.io/etcd/api/v3&lt;/strong&gt; — определения API, например protos и созданные из proto библиотеки, которые задают протокол взаимодействия между клиентами и сервером etcd.&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;go.etcd.io/etcd/pkg/v3&lt;/strong&gt; — набор вспомогательных пакетов, используемых etcd, но не зависящих от его специфики. Пакет следует размещать здесь только в том случае, если в будущем его можно будет вынести в отдельный репозиторий. Не добавляйте сюда код с большим числом собственных зависимостей: они автоматически станут зависимостями клиентской библиотеки, которую важно сохранять легковесной.&lt;/p&gt;</description></item></channel></rss>