在 etcd 中,数据压缩(Compaction)的本质是删除历史版本数据,但 不会删除键的当前最新值。这是 etcd 优化存储空间和性能的核心机制之一。
一、压缩(Compaction)的本质
1. 删除历史版本
压缩操作会删除指定 revision 之前的所有 历史版本(即旧值),但保留键的 当前最新值。
示例:
键 /mykey 被修改了 3 次,对应的 revision 为 100、200、300。
执行 compact 250 后:
revision ≤250 的历史数据被删除(如 revision 100 和 200 的旧值)。
键的当前值(revision 300)仍然保留。
2. 存储优化
压缩通过清理不再需要的历史版本,减少 etcd 的存储占用,提升查询性能(尤其是范围查询)。
3. 不影响最新数据
当前值始终保留:无论是否压缩,键的当前最新值(即最后一次写入的值)都不会被删除。
二、压缩配置
1. 基于时间:保留最近一段时间的历史版本。
# 保留 24 小时内的历史, 24小时外的删除
订阅专栏 解锁全文
详解&spm=1001.2101.3001.5002&articleId=146437471&d=1&t=3&u=5ac7762c873347409ce0df3bae89bce5)
697

被折叠的 条评论
为什么被折叠?



