<?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/zh/docs/etcd/dev-internal/</link><description>Recent content in 内部架构 on PIG.CENTER</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Tue, 08 Sep 2026 21:29:01 +0800</lastBuildDate><atom:link href="https://pig.center/zh/docs/etcd/dev-internal/index.xml" rel="self" type="application/rss+xml"/><item><title>发现服务协议</title><link>https://pig.center/zh/docs/etcd/dev-internal/discovery_protocol/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/zh/docs/etcd/dev-internal/discovery_protocol/</guid><description>&lt;p&gt;发现服务协议有助于新 etcd 成员在集群引导阶段，通过共享的发现令牌和端点列表，发现集群中的所有其他成员。&lt;/p&gt;&#10;&lt;p&gt;发现服务协议仅在集群引导阶段使用，不可用于运行时重配置或集群监控。&lt;/p&gt;</description></item><item><title>日志记录约定</title><link>https://pig.center/zh/docs/etcd/dev-internal/logging/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/zh/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;</description></item><item><title>Go 模块</title><link>https://pig.center/zh/docs/etcd/dev-internal/modules/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/zh/docs/etcd/dev-internal/modules/</guid><description>&lt;p&gt;etcd 项目（自版本 3.5 起）采用多个 &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 定义&#10;（如 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 使用的通用工具包集合，不针对 etcd 本身。仅当某个包未来可能被移出至独立仓库时，才应归入此处。请避免在此处添加依赖关系复杂的代码，因为这些依赖会自动成为客户端库的依赖（我们希望客户端库保持轻量）。&lt;/p&gt;</description></item></channel></rss>