<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>架构师笔记 · RSS</title><description>技术架构师的深度笔记：Go 生态、数据库内核、分布式系统与性能优化。以系列化长文剖析源码与原理。</description><link>https://astrotechblog.pages.dev/</link><language>zh-cn</language><item><title>查询优化器：从 AST 到执行计划</title><link>https://astrotechblog.pages.dev/blog/database-internals/04-query-optimizer/</link><guid isPermaLink="true">https://astrotechblog.pages.dev/blog/database-internals/04-query-optimizer/</guid><description>SQL 是声明式的，执行是命令式的——查询优化器负责中间的翻译。本文拆解解析、绑定、逻辑优化、物理优化四阶段，以及统计信息与代价模型的作用。</description><pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate><category>数据库</category><category>查询优化</category><category>SQL</category></item><item><title>LSM-Tree 与 WAL：写放大与崩溃恢复</title><link>https://astrotechblog.pages.dev/blog/database-internals/03-lsm-wal/</link><guid isPermaLink="true">https://astrotechblog.pages.dev/blog/database-internals/03-lsm-wal/</guid><description>LSM-Tree 如何用追加写换写入吞吐？Compaction 为什么是它的阿喀琉斯之踵？WAL 又怎样保证崩溃后不丢数据？本文一次讲透。</description><pubDate>Tue, 02 Sep 2025 00:00:00 GMT</pubDate><category>数据库</category><category>存储引擎</category><category>LSM</category><category>WAL</category></item><item><title>B+ 树索引：从磁盘到内存</title><link>https://astrotechblog.pages.dev/blog/database-internals/02-btree/</link><guid isPermaLink="true">https://astrotechblog.pages.dev/blog/database-internals/02-btree/</guid><description>为什么数据库索引用 B+ 树而不是二叉搜索树？本文从磁盘 I/O 的物理约束出发，推导 B+ 树的形态，并拆解节点分裂、页缓存与聚簇索引。</description><pubDate>Mon, 18 Aug 2025 00:00:00 GMT</pubDate><category>数据库</category><category>索引</category><category>数据结构</category></item><item><title>存储引擎总览：从 Page 到 LSM</title><link>https://astrotechblog.pages.dev/blog/database-internals/01-storage-overview/</link><guid isPermaLink="true">https://astrotechblog.pages.dev/blog/database-internals/01-storage-overview/</guid><description>数据库内核的起点是存储引擎。本文建立存储引擎的整体视图：Page 模型、缓冲池、索引与日志的关系，以及行存与列存的适用场景。</description><pubDate>Tue, 05 Aug 2025 00:00:00 GMT</pubDate><category>数据库</category><category>存储引擎</category><category>架构</category></item><item><title>采样器与高性能写入路径</title><link>https://astrotechblog.pages.dev/blog/zap-source/06-sampler/</link><guid isPermaLink="true">https://astrotechblog.pages.dev/blog/zap-source/06-sampler/</guid><description>剖析 zap 的采样器 sampler 与 bufferedWriteSyncer：计数采样算法、突发窗口、缓冲合并写，理解高频日志路径上的两个关键优化。</description><pubDate>Mon, 28 Jul 2025 00:00:00 GMT</pubDate><category>Go</category><category>zap</category><category>日志</category><category>性能</category></item><item><title>AtomicLevel 与动态级别控制</title><link>https://astrotechblog.pages.dev/blog/zap-source/05-atomic-level/</link><guid isPermaLink="true">https://astrotechblog.pages.dev/blog/zap-source/05-atomic-level/</guid><description>AtomicLevel 如何用原子操作实现无锁的动态日志级别切换，以及它与 slog 的 LevelVar 的对比。</description><pubDate>Tue, 15 Jul 2025 00:00:00 GMT</pubDate><category>Go</category><category>zap</category><category>日志</category><category>并发</category></item><item><title>Field 系统：类型安全与零反射</title><link>https://astrotechblog.pages.dev/blog/zap-source/04-field-system/</link><guid isPermaLink="true">https://astrotechblog.pages.dev/blog/zap-source/04-field-system/</guid><description>Field 是 zap 字段系统的核心：16 字节的紧凑结构、强类型构造器、lazy 延迟求值，以及它是如何做到对 GC 友好的。</description><pubDate>Wed, 02 Jul 2025 00:00:00 GMT</pubDate><category>Go</category><category>zap</category><category>日志</category><category>性能</category></item><item><title>Encoder 体系：JSON 与 Console 的取舍</title><link>https://astrotechblog.pages.dev/blog/zap-source/03-encoder/</link><guid isPermaLink="true">https://astrotechblog.pages.dev/blog/zap-source/03-encoder/</guid><description>深入 zap 的 Encoder 抽象：jsonEncoder 与 consoleEncoder 的实现差异、ReflectedEncoder 的反射兜底，以及自定义 Encoder 的接入方式。</description><pubDate>Fri, 20 Jun 2025 00:00:00 GMT</pubDate><category>Go</category><category>zap</category><category>日志</category><category>序列化</category></item><item><title>zapcore SPI：Core / Encoder / WriteSyncer</title><link>https://astrotechblog.pages.dev/blog/zap-source/02-zapcore-spi/</link><guid isPermaLink="true">https://astrotechblog.pages.dev/blog/zap-source/02-zapcore-spi/</guid><description>zapcore 是 zap 的内核层与整个日志库的 SPI，它定义了一组关键接口，让上层 zap 包只依赖抽象而不关心具体实现。本文拆解三个核心接口的设计。</description><pubDate>Thu, 12 Jun 2025 00:00:00 GMT</pubDate><category>Go</category><category>zap</category><category>日志</category><category>设计模式</category></item><item><title>架构总览：双 API 与三层解耦</title><link>https://astrotechblog.pages.dev/blog/zap-source/01-architecture/</link><guid isPermaLink="true">https://astrotechblog.pages.dev/blog/zap-source/01-architecture/</guid><description>用一张全景图理解 zap 的整体架构：zap 与 zapcore 双 API 的设计意图、三层职责划分，以及「用接口隔离、用实现扩展」的核心思想。</description><pubDate>Tue, 20 May 2025 00:00:00 GMT</pubDate><category>Go</category><category>zap</category><category>日志</category><category>架构</category></item></channel></rss>