# lease

Published articles for lease.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## 【etcd】生产全景：缺口、五轴坐标系与 16 篇路线

DevFeed: [【etcd】生产全景：缺口、五轴坐标系与 16 篇路线](<https://devfeed.tech/articles/etcd-16-33983.md>)

Original publisher: [Read original article](<https://quant67.com/post/etcd/01-production-overview/01-production-overview.html>)

Author: Liao Tonglang

Published: 2026-08-26T00:00:00Z

Content type: article

Language: zh

Sources: [土法炼钢 - 系统与基础设施](<https://devfeed.tech/sources/source-4.md>)

Topics: [etcd](<https://devfeed.tech/topics/etcd.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>)

Tags: [control-plane](<https://devfeed.tech/tags/control-plane.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [etcd](<https://devfeed.tech/tags/etcd.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [lease](<https://devfeed.tech/tags/lease.md>), [mvcc](<https://devfeed.tech/tags/mvcc.md>), [overview](<https://devfeed.tech/tags/overview.md>), [raft](<https://devfeed.tech/tags/raft.md>), [v3-5](<https://devfeed.tech/tags/v3-5.md>), [v3-5-33](<https://devfeed.tech/tags/v3-5-33.md>), [wal](<https://devfeed.tech/tags/wal.md>), [watch](<https://devfeed.tech/tags/watch.md>)

### AI overview

This article positions an etcd production series by identifying gaps in existing coverage and defining five troubleshooting axes spanning Raft consensus, WAL persistence and recovery, MVCC storage and capacity, Watch behavior, and Lease handling. It anchors the series to etcd v3.5.33 and points to Kubernetes control-plane coupling and a 16-article reading route.

### Source excerpt

相对 distributed/50、39、13 钉清 etcd 生产内核缺口；定义 Raft/WAL/MVCC/Watch/Lease 五轴排障坐标系，给出 16 篇阅读路线与 K8s 控制面耦合指针。版本锚定 v3.5.33。

## 【etcd】Lease 与 KeepAlive：TTL、checkpoint 与 Leader 切换

DevFeed: [【etcd】Lease 与 KeepAlive：TTL、checkpoint 与 Leader 切换](<https://devfeed.tech/articles/etcd-lease-keepalive-ttl-checkpoint-leader-33992.md>)

Original publisher: [Read original article](<https://quant67.com/post/etcd/10-lease/10-lease.html>)

Author: Liao Tonglang

Published: 2026-08-26T00:00:00Z

Content type: tutorial

Language: zh

Sources: [土法炼钢 - 系统与基础设施](<https://devfeed.tech/sources/source-4.md>)

Topics: [etcd](<https://devfeed.tech/topics/etcd.md>), [Raft](<https://devfeed.tech/topics/raft.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Remote Procedure Call (RPC)](<https://devfeed.tech/topics/rpc.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [checkpoint](<https://devfeed.tech/tags/checkpoint.md>), [client](<https://devfeed.tech/tags/client.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [etcd](<https://devfeed.tech/tags/etcd.md>), [follower](<https://devfeed.tech/tags/follower.md>), [k8s](<https://devfeed.tech/tags/k8s.md>), [keepalive](<https://devfeed.tech/tags/keepalive.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [lease](<https://devfeed.tech/tags/lease.md>), [lessor](<https://devfeed.tech/tags/lessor.md>), [primary](<https://devfeed.tech/tags/primary.md>), [raft](<https://devfeed.tech/tags/raft.md>), [ttl](<https://devfeed.tech/tags/ttl.md>), [v3](<https://devfeed.tech/tags/v3.md>), [v3-5-33](<https://devfeed.tech/tags/v3-5-33.md>), [watch](<https://devfeed.tech/tags/watch.md>)

### AI overview

This article explains etcd v3.5.33 lease behavior, focusing on the lessor's primary, demote, and promote roles, the KeepAlive renewal path that normally bypasses Raft, lease checkpointing, and TTL changes during leader transitions. It also discusses implications for Kubernetes Node Leases and distributed locks.

### Source excerpt

钉 etcd v3.5.33 lessor 的 primary/demote/promote、KeepAlive 不经 Raft 的 Renew 路径、LeaseCheckpoint 与 Promote 时 TTL 展期，以及 Leader 切换对 Node Lease 的排障落格。

## 【etcd】Watch 机制：watchableStore、synced/unsynced 与 ErrCompacted

DevFeed: [【etcd】Watch 机制：watchableStore、synced/unsynced 与 ErrCompacted](<https://devfeed.tech/articles/etcd-watch-watchablestore-synced-unsynced-errcompacted-33991.md>)

Original publisher: [Read original article](<https://quant67.com/post/etcd/09-watch/09-watch.html>)

Author: Liao Tonglang

Published: 2026-08-26T00:00:00Z

Content type: tutorial

Language: zh

Sources: [土法炼钢 - 系统与基础设施](<https://devfeed.tech/sources/source-4.md>)

Topics: [etcd](<https://devfeed.tech/topics/etcd.md>), [Raft](<https://devfeed.tech/topics/raft.md>), [Remote Procedure Call (RPC)](<https://devfeed.tech/topics/rpc.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>)

Tags: [apiserver](<https://devfeed.tech/tags/apiserver.md>), [apply](<https://devfeed.tech/tags/apply.md>), [compaction](<https://devfeed.tech/tags/compaction.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [errcompacted](<https://devfeed.tech/tags/errcompacted.md>), [etcd](<https://devfeed.tech/tags/etcd.md>), [io](<https://devfeed.tech/tags/io.md>), [k8s](<https://devfeed.tech/tags/k8s.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [lag](<https://devfeed.tech/tags/lag.md>), [leader](<https://devfeed.tech/tags/leader.md>), [lease](<https://devfeed.tech/tags/lease.md>), [mvcc](<https://devfeed.tech/tags/mvcc.md>), [notify](<https://devfeed.tech/tags/notify.md>), [raft](<https://devfeed.tech/tags/raft.md>), [range](<https://devfeed.tech/tags/range.md>), [restore](<https://devfeed.tech/tags/restore.md>), [revision](<https://devfeed.tech/tags/revision.md>), [rpc](<https://devfeed.tech/tags/rpc.md>), [v3-5](<https://devfeed.tech/tags/v3-5.md>), [v3-5-33](<https://devfeed.tech/tags/v3-5-33.md>), [watch](<https://devfeed.tech/tags/watch.md>), [watchablestore](<https://devfeed.tech/tags/watchablestore.md>)

### AI overview

This article examines the etcd v3.5.33 watchableStore implementation, including synced and unsynced watcher groups, victims caused by backpressure, Apply-time notification, historical synchronization, and the ErrCompacted client resynchronization boundary. It also discusses event ordering, follower watch progress, and interactions with Kubernetes apiserver watch caches.

### Source excerpt

钉 etcd v3.5.33 watchableStore 的 synced/unsynced/victims 三分法、Apply 后 notify 与历史追赶 syncWatchersLoop，以及 CompactRevision 触发 ErrCompacted 时的客户端重同步边界。

## 【etcd】选型收束与开放问题：排除树与系列边界关闭

DevFeed: [【etcd】选型收束与开放问题：排除树与系列边界关闭](<https://devfeed.tech/articles/etcd-33998.md>)

Original publisher: [Read original article](<https://quant67.com/post/etcd/16-selection/16-selection.html>)

Author: Liao Tonglang

Published: 2026-08-26T00:00:00Z

Content type: article

Language: zh

Sources: [土法炼钢 - 系统与基础设施](<https://devfeed.tech/sources/source-4.md>)

Topics: [etcd](<https://devfeed.tech/topics/etcd.md>), [Raft](<https://devfeed.tech/topics/raft.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>)

Tags: [apiserver](<https://devfeed.tech/tags/apiserver.md>), [backup](<https://devfeed.tech/tags/backup.md>), [compaction](<https://devfeed.tech/tags/compaction.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [etcd](<https://devfeed.tech/tags/etcd.md>), [exclusion-tree](<https://devfeed.tech/tags/exclusion-tree.md>), [foundationdb](<https://devfeed.tech/tags/foundationdb.md>), [guide](<https://devfeed.tech/tags/guide.md>), [k8s](<https://devfeed.tech/tags/k8s.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [lease](<https://devfeed.tech/tags/lease.md>), [open-questions](<https://devfeed.tech/tags/open-questions.md>), [raft](<https://devfeed.tech/tags/raft.md>), [selection](<https://devfeed.tech/tags/selection.md>), [tikv](<https://devfeed.tech/tags/tikv.md>), [v3](<https://devfeed.tech/tags/v3.md>), [v3-5-33](<https://devfeed.tech/tags/v3-5-33.md>), [zookeeper](<https://devfeed.tech/tags/zookeeper.md>)

### AI overview

This concluding article presents a mechanism-based decision tree for deciding when to retain etcd and when to migrate to TiKV or FoundationDB. It defines etcd's fit for small data sets with Watch and Lease dependencies, identifies disqualifying conditions such as quota pressure, sharding needs, cross-key transactions, Watch backpressure, and insufficient operational capacity, and clarifies the boundaries between related article series.

### Source excerpt

用机制排除树收束何时该留 etcd、何时迁 TiKV/FDB/ZK；回收 distributed/39、tikv-htap/18、foundationdb/18 的 etcd 叶；列出 Watch 背压、Lease+fencing、quota 迁移等开放问题；以 ADR 语言关闭续作边界。

## 【etcd】读路径与一致性：ReadIndex、Serializable 与 Lease read

DevFeed: [【etcd】读路径与一致性：ReadIndex、Serializable 与 Lease read](<https://devfeed.tech/articles/etcd-readindex-serializable-lease-read-33990.md>)

Original publisher: [Read original article](<https://quant67.com/post/etcd/08-read-consistency/08-read-consistency.html>)

Author: Liao Tonglang

Published: 2026-08-26T00:00:00Z

Content type: tutorial

Language: zh

Sources: [土法炼钢 - 系统与基础设施](<https://devfeed.tech/sources/source-4.md>)

Topics: [etcd](<https://devfeed.tech/topics/etcd.md>), [Raft](<https://devfeed.tech/topics/raft.md>), [consensus algorithm](<https://devfeed.tech/topics/consensus-algorithm.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>)

Tags: [consistency](<https://devfeed.tech/tags/consistency.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [etcd](<https://devfeed.tech/tags/etcd.md>), [follower](<https://devfeed.tech/tags/follower.md>), [k8s](<https://devfeed.tech/tags/k8s.md>), [keepalive](<https://devfeed.tech/tags/keepalive.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [lease](<https://devfeed.tech/tags/lease.md>), [linearizable](<https://devfeed.tech/tags/linearizable.md>), [raft](<https://devfeed.tech/tags/raft.md>), [readindex](<https://devfeed.tech/tags/readindex.md>), [resourceversion](<https://devfeed.tech/tags/resourceversion.md>), [revision](<https://devfeed.tech/tags/revision.md>), [serializable](<https://devfeed.tech/tags/serializable.md>), [ttl](<https://devfeed.tech/tags/ttl.md>), [v3-5](<https://devfeed.tech/tags/v3-5.md>), [v3-5-33](<https://devfeed.tech/tags/v3-5-33.md>)

### AI overview

This tutorial explains read consistency in etcd v3.5.33. It distinguishes default linearizable reads using ReadIndex, local Serializable reads that may be stale on followers, and Lease RPC reads handled by the leader outside the Raft log. It also discusses leader changes, apply-index waiting, follower forwarding, MVCC history reads, and implications for Kubernetes apiserver clients.

### Source excerpt

分列 etcd v3.5.33 三种读语义：默认线性一致读的 ReadIndex 循环、Serializable 本地读、Raft ReadOnlyLeaseBased 与不经 Raft 的 Lease 路径；follower 读风险与 K8s 期望。

## 【etcd】排障五轴：Raft/WAL/MVCC/Watch/Lease 口令表

DevFeed: [【etcd】排障五轴：Raft/WAL/MVCC/Watch/Lease 口令表](<https://devfeed.tech/articles/etcd-raft-wal-mvcc-watch-lease-33997.md>)

Original publisher: [Read original article](<https://quant67.com/post/etcd/15-troubleshoot/15-troubleshoot.html>)

Author: Liao Tonglang

Published: 2026-08-26T00:00:00Z

Content type: tutorial

Language: zh

Sources: [土法炼钢 - 系统与基础设施](<https://devfeed.tech/sources/source-4.md>)

Topics: [etcd](<https://devfeed.tech/topics/etcd.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>)

Tags: [apiserver](<https://devfeed.tech/tags/apiserver.md>), [applied-index](<https://devfeed.tech/tags/applied-index.md>), [apply](<https://devfeed.tech/tags/apply.md>), [committed-index](<https://devfeed.tech/tags/committed-index.md>), [compaction](<https://devfeed.tech/tags/compaction.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [errcompacted](<https://devfeed.tech/tags/errcompacted.md>), [etcd](<https://devfeed.tech/tags/etcd.md>), [five-axes](<https://devfeed.tech/tags/five-axes.md>), [incident](<https://devfeed.tech/tags/incident.md>), [keepalive](<https://devfeed.tech/tags/keepalive.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [lag](<https://devfeed.tech/tags/lag.md>), [lease](<https://devfeed.tech/tags/lease.md>), [mvcc](<https://devfeed.tech/tags/mvcc.md>), [node-lease](<https://devfeed.tech/tags/node-lease.md>), [raft](<https://devfeed.tech/tags/raft.md>), [restore](<https://devfeed.tech/tags/restore.md>), [troubleshooting](<https://devfeed.tech/tags/troubleshooting.md>), [ttl](<https://devfeed.tech/tags/ttl.md>), [v3](<https://devfeed.tech/tags/v3.md>), [v3-5](<https://devfeed.tech/tags/v3-5.md>), [v3-5-33](<https://devfeed.tech/tags/v3-5-33.md>), [wal](<https://devfeed.tech/tags/wal.md>), [watch](<https://devfeed.tech/tags/watch.md>)

### AI overview

This troubleshooting article organizes etcd failures into five diagnostic axes: Raft consensus, WAL persistence and recovery, MVCC storage and capacity, Watch client synchronization, and Lease TTL semantics. It maps symptoms to axes, explains relevant etcdctl health and status fields, and notes Kubernetes control-plane relationships, including apiserver and Node Lease behavior. The article is anchored to etcd v3.5.33.

### Source excerpt

按 Raft、WAL、MVCC、Watch、Lease 五轴做症状否证；解释 etcdctl endpoint status/health 字段语义；并对照 K8s 控制面 apiserver 超时与 Node Lease 漂移。

## 【etcd】Kubernetes 控制面耦合：apiserver、resourceVersion 与 Node Lease

DevFeed: [【etcd】Kubernetes 控制面耦合：apiserver、resourceVersion 与 Node Lease](<https://devfeed.tech/articles/etcd-kubernetes-apiserver-resourceversion-node-lease-33995.md>)

Original publisher: [Read original article](<https://quant67.com/post/etcd/13-k8s-coupling/13-k8s-coupling.html>)

Author: Liao Tonglang

Published: 2026-08-26T00:00:00Z

Content type: tutorial

Language: zh

Sources: [土法炼钢 - 系统与基础设施](<https://devfeed.tech/sources/source-4.md>)

Topics: [etcd](<https://devfeed.tech/topics/etcd.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [API](<https://devfeed.tech/topics/api.md>), [Cache](<https://devfeed.tech/topics/cache.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [apiserver](<https://devfeed.tech/tags/apiserver.md>), [cache](<https://devfeed.tech/tags/cache.md>), [control-plane](<https://devfeed.tech/tags/control-plane.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [etcd](<https://devfeed.tech/tags/etcd.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [lease](<https://devfeed.tech/tags/lease.md>), [mvcc](<https://devfeed.tech/tags/mvcc.md>), [node-lease](<https://devfeed.tech/tags/node-lease.md>), [raft](<https://devfeed.tech/tags/raft.md>), [resourceversion](<https://devfeed.tech/tags/resourceversion.md>), [v3-5-33](<https://devfeed.tech/tags/v3-5-33.md>), [watch](<https://devfeed.tech/tags/watch.md>), [watch-cache](<https://devfeed.tech/tags/watch-cache.md>)

### AI overview

This article explains how Kubernetes control-plane components interact with etcd. It covers the kube-apiserver boundary, the mapping of resourceVersion to etcd mod revision, Node Lease storage, watch cache behavior, and how compaction, caching, and event sharding affect troubleshooting and etcd load.

### Source excerpt

钉 kube-apiserver 与 etcd 的分层边界；resourceVersion 如何映射 Revision MVCC；Node Lease 如何落在 Lease 轴；以及 apiserver 超时应如何分列到 Raft/Watch/Quota 五轴。

## \[dos\] LuCI DHCPv6 - Lease Hostname Stored Cross-Site Scripting

DevFeed: [\[dos\] LuCI DHCPv6 - Lease Hostname Stored Cross-Site Scripting](<https://devfeed.tech/articles/dos-luci-dhcpv6-lease-hostname-stored-cross-site-scripting-34730.md>)

Original publisher: [Read original article](<https://www.exploit-db.com/exploits/52637>)

Author: banyamer

Published: 2026-08-11T00:00:00Z

Content type: article

Language: en

Sources: [Exploit-DB.com RSS Feed](<https://devfeed.tech/sources/exploit-db-com-rss-feed.md>)

Topics: [Exploit](<https://devfeed.tech/topics/exploit.md>), [Scripting](<https://devfeed.tech/topics/scripting.md>)

Tags: [cve](<https://devfeed.tech/tags/cve.md>), [cve-2026-61876](<https://devfeed.tech/tags/cve-2026-61876.md>), [dos](<https://devfeed.tech/tags/dos.md>), [exploit](<https://devfeed.tech/tags/exploit.md>), [lease](<https://devfeed.tech/tags/lease.md>), [multiple](<https://devfeed.tech/tags/multiple.md>), [stored](<https://devfeed.tech/tags/stored.md>)

### AI overview

A LuCI DHCPv6 lease hostname issue involving stored cross-site scripting is identified as CVE-2026-61876. The supplied text labels it a denial-of-service exploit affecting multiple platforms.

### Source excerpt

LuCI DHCPv6 - Lease Hostname Stored Cross-Site Scripting

## Coordinate access to shared resources with a distributed lock built on Temporal Workflows

DevFeed: [Coordinate access to shared resources with a distributed lock built on Temporal Workflows](<https://devfeed.tech/articles/coordinate-access-to-shared-resources-with-a-distributed-lock-built-on-temporal-workflows-35762.md>)

Original publisher: [Read original article](<https://temporal.io/blog/coordinate-access-to-shared-resources-with-a-distributed-lock-built-on-temporal-workflows>)

Author: Keith Tenzer

Published: 2026-06-11T00:00:00Z

Content type: tutorial

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [locking](<https://devfeed.tech/topics/locking.md>)

Tags: [distributed](<https://devfeed.tech/tags/distributed.md>), [lease](<https://devfeed.tech/tags/lease.md>), [locking](<https://devfeed.tech/tags/locking.md>), [locks](<https://devfeed.tech/tags/locks.md>), [recovery](<https://devfeed.tech/tags/recovery.md>), [resource](<https://devfeed.tech/tags/resource.md>), [temporal-concepts](<https://devfeed.tech/tags/temporal-concepts.md>), [workflows](<https://devfeed.tech/tags/workflows.md>)

### AI overview

This guide describes a reusable, durable distributed lock for Temporal Workflows. It models each permit as a short-lived child Workflow, uses Workflow IDs for atomic acquisition, and uses Signals and lease timeouts to release locks and recover orphaned permits.

### Source excerpt

This guide details a reusable, durable distributed lock for Temporal Workflows that doesn't rely on an external database, central limiter, or any shared state.

## 【分布式系统百科】etcd 深度解剖：从 Watch 机制到 MVCC 存储引擎

DevFeed: [【分布式系统百科】etcd 深度解剖：从 Watch 机制到 MVCC 存储引擎](<https://devfeed.tech/articles/etcd-watch-mvcc-33979.md>)

Original publisher: [Read original article](<https://quant67.com/post/distributed/50-etcd/etcd.html>)

Author: Liao Tonglang

Published: 2026-04-13T00:00:00Z

Content type: article

Language: zh

Sources: [土法炼钢 - 系统与基础设施](<https://devfeed.tech/sources/source-4.md>)

Topics: [etcd](<https://devfeed.tech/topics/etcd.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Raft](<https://devfeed.tech/topics/raft.md>)

Tags: [apiserver](<https://devfeed.tech/tags/apiserver.md>), [boltdb](<https://devfeed.tech/tags/boltdb.md>), [compaction](<https://devfeed.tech/tags/compaction.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [distributed-coordination](<https://devfeed.tech/tags/distributed-coordination.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [etcd](<https://devfeed.tech/tags/etcd.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [lease](<https://devfeed.tech/tags/lease.md>), [mvcc](<https://devfeed.tech/tags/mvcc.md>), [raft](<https://devfeed.tech/tags/raft.md>), [revision](<https://devfeed.tech/tags/revision.md>), [streaming](<https://devfeed.tech/tags/streaming.md>), [watch](<https://devfeed.tech/tags/watch.md>)

### AI overview

This article explains etcd's persistent Watch mechanism, revision-based event replay, MVCC storage, and its relationship with Raft and WAL. It also describes how Kubernetes components use etcd Watch events to propagate Deployment and Pod changes, and discusses compaction limits and recovery through full resynchronization.

### Source excerpt

深入剖析 etcd 的核心机制：持久化 Watch 与 Revision 追溯、Lease 租约机制、基于 BoltDB 的 MVCC 存储引擎、与 Raft 共识的联动方式，以及在 Kubernetes 中的关键角色。涵盖性能调优策略、容量限制与规模化方案。

## 【分布式系统百科】分布式 KV 存储对比：etcd、TiKV 与 FoundationDB

DevFeed: [【分布式系统百科】分布式 KV 存储对比：etcd、TiKV 与 FoundationDB](<https://devfeed.tech/articles/kv-etcd-tikv-foundationdb-33978.md>)

Original publisher: [Read original article](<https://quant67.com/post/distributed/39-kv-stores/kv-stores.html>)

Author: Liao Tonglang

Published: 2026-04-13T00:00:00Z

Content type: comparison

Language: zh

Sources: [土法炼钢 - 系统与基础设施](<https://devfeed.tech/sources/source-4.md>)

Topics: [etcd](<https://devfeed.tech/topics/etcd.md>), [Raft](<https://devfeed.tech/topics/raft.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>)

Tags: [bbolt](<https://devfeed.tech/tags/bbolt.md>), [boltdb](<https://devfeed.tech/tags/boltdb.md>), [compaction](<https://devfeed.tech/tags/compaction.md>), [coreos](<https://devfeed.tech/tags/coreos.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [errcompacted](<https://devfeed.tech/tags/errcompacted.md>), [etcd](<https://devfeed.tech/tags/etcd.md>), [go](<https://devfeed.tech/tags/go.md>), [k8s](<https://devfeed.tech/tags/k8s.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [lease](<https://devfeed.tech/tags/lease.md>), [mmap](<https://devfeed.tech/tags/mmap.md>), [mvcc](<https://devfeed.tech/tags/mvcc.md>), [raft](<https://devfeed.tech/tags/raft.md>), [readindex](<https://devfeed.tech/tags/readindex.md>), [revision](<https://devfeed.tech/tags/revision.md>), [single-raft-group](<https://devfeed.tech/tags/single-raft-group.md>), [ssd](<https://devfeed.tech/tags/ssd.md>), [v3](<https://devfeed.tech/tags/v3.md>), [wal](<https://devfeed.tech/tags/wal.md>), [watch](<https://devfeed.tech/tags/watch.md>)

### AI overview

This Chinese-language comparison examines etcd, TiKV, and FoundationDB as distributed key-value stores for metadata. It focuses on architecture, implementation, performance, and limitations, with detailed coverage of etcd's single Raft group, MVCC, Watch, Lease, bbolt storage engine, linearizable reads, compaction, and defragmentation.

### Source excerpt

一个典型的架构评审场景：团队需要一个分布式键值存储来承载新系统的元数据。候选方案三个----etcd、TiKV、FoundationDB。三者都提供强一致性保证，都经过大规模生产验证，但设计目标截然不同。选错了，轻则性能不达标，重则数据丢失后无法恢复。这篇文章从架构、实现、性能和局限四个维度，把三个系统拆开来看。

## 分布式文件系统的演化

DevFeed: [分布式文件系统的演化](<https://devfeed.tech/articles/article-40973.md>)

Original publisher: [Read original article](<https://blog.joway.io/posts/deep-into-distributed-filesystem/>)

Author: Joway

Published: 2020-06-14T00:00:00Z

Content type: tutorial

Language: zh

Sources: [Random Thoughts](<https://devfeed.tech/sources/random-thoughts.md>)

Topics: [IO](<https://devfeed.tech/topics/io.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Ext4](<https://devfeed.tech/topics/ext4.md>), [hdfs](<https://devfeed.tech/topics/hdfs.md>), [Google](<https://devfeed.tech/topics/google.md>)

Tags: [blocks](<https://devfeed.tech/tags/blocks.md>), [client](<https://devfeed.tech/tags/client.md>), [ext4](<https://devfeed.tech/tags/ext4.md>), [filesystem](<https://devfeed.tech/tags/filesystem.md>), [google](<https://devfeed.tech/tags/google.md>), [hdfs](<https://devfeed.tech/tags/hdfs.md>), [io](<https://devfeed.tech/tags/io.md>), [lease](<https://devfeed.tech/tags/lease.md>), [linux](<https://devfeed.tech/tags/linux.md>), [master](<https://devfeed.tech/tags/master.md>), [pointers](<https://devfeed.tech/tags/pointers.md>), [primary](<https://devfeed.tech/tags/primary.md>), [ssd](<https://devfeed.tech/tags/ssd.md>), [tech](<https://devfeed.tech/tags/tech.md>)

### AI overview

This article explains local filesystem structure, including superblocks, inodes, block pointers, and file-size limits, then introduces the evolution and architecture of distributed filesystems. It uses GFS to describe metadata lookup, chunk locations, caching, replication, leases, and client read and write flows, and mentions HDFS as a related implementation.

### Source excerpt

文件系统是操作系统 IO 栈里非常重要的一个中间层，其存在的意义是为了让上层应用程序有一层更加符合人类直觉的抽象来进行文档的读写，而无需考虑底层存储上的细节。 本地文件系统 在讨论分布式文件系统前，我们先来回顾下本地文件系统的组成。 存储结构 在前面一张图里，我们能够看到文件系统直接和通用块层进行交互，无论底层存储介质是磁盘还是 SSD，都被该层抽象为 Block 的概念。文件系统在初始化时，会先在挂载的块存储上的第一个位置创建一个 Super Block：