<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>R&amp;D&amp;Architecture</title>
		<link>https://liaotx.cn/</link>
		<description>Recent content on R&amp;D&amp;Architecture</description>
		<generator>Hugo</generator>
		<language>zh-CN</language>
		
		
		
		
			<lastBuildDate>Sat, 30 May 2026 10:00:00 +0800</lastBuildDate>
		
			<atom:link href="https://liaotx.cn/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>高并发可靠服务架构</title>
				<link>https://liaotx.cn/docs/high-concurrency_service_architecture/</link>
				<pubDate>Sat, 30 May 2026 10:00:00 +0800</pubDate>
				<guid>https://liaotx.cn/docs/high-concurrency_service_architecture/</guid>
				<description>&lt;h3 id=&#34;高并发可靠服务架构&#34;&gt;高并发可靠服务架构&lt;a class=&#34;anchor&#34; href=&#34;#%e9%ab%98%e5%b9%b6%e5%8f%91%e5%8f%af%e9%9d%a0%e6%9c%8d%e5%8a%a1%e6%9e%b6%e6%9e%84&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;构建高并发、高可用的互联网服务时，架构设计不再只是&amp;quot;能跑起来&amp;quot;，而是要在海量请求、有限资源、复杂业务链路中，做到&lt;strong&gt;低延迟、高吞吐、可扩展、容错强&lt;/strong&gt;。以下结合典型 BFF + 微服务 + 云原生基础设施架构，进行系统性拆解。&lt;/p&gt;</description>
			</item>
			<item>
				<title>GMP与并发模型</title>
				<link>https://liaotx.cn/docs/gmp-and-concurrency-models/</link>
				<pubDate>Sat, 30 May 2026 10:00:00 +0800</pubDate>
				<guid>https://liaotx.cn/docs/gmp-and-concurrency-models/</guid>
				<description>&lt;h3 id=&#34;gmp--并发模型深度解析&#34;&gt;GMP &amp;amp;&amp;amp; 并发模型深度解析&lt;a class=&#34;anchor&#34; href=&#34;#gmp--%e5%b9%b6%e5%8f%91%e6%a8%a1%e5%9e%8b%e6%b7%b1%e5%ba%a6%e8%a7%a3%e6%9e%90&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;一gmp-高效调度&#34;&gt;一、GMP 高效调度&lt;a class=&#34;anchor&#34; href=&#34;#%e4%b8%80gmp-%e9%ab%98%e6%95%88%e8%b0%83%e5%ba%a6&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;h3 id=&#34;1-核心概念&#34;&gt;1. 核心概念&lt;a class=&#34;anchor&#34; href=&#34;#1-%e6%a0%b8%e5%bf%83%e6%a6%82%e5%bf%b5&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: left&#34;&gt;组件&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: left&#34;&gt;全称&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: left&#34;&gt;说明&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;G (Goroutine)&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;轻量级线程&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;栈初始 2KB（可动态增长），包含程序计数器、栈指针、寄存器状态&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;M (Machine)&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;操作系统线程&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;对应 OS 线程，负责执行 G 的代码，包含 g0（调度栈）、curg（当前 G）、m0（主线程）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;P (Processor)&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;逻辑处理器&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;数量由 &lt;code&gt;GOMAXPROCS&lt;/code&gt; 决定，持有本地运行队列（LRQ，容量 256），负责调度决策和上下文切换&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;&lt;strong&gt;G 的状态&lt;/strong&gt;：&lt;code&gt;_Gidle&lt;/code&gt;、&lt;code&gt;_Grunnable&lt;/code&gt;、&lt;code&gt;_Grunning&lt;/code&gt;、&lt;code&gt;_Gsyscall&lt;/code&gt;、&lt;code&gt;_Gwaiting&lt;/code&gt;、&lt;code&gt;_Gdead&lt;/code&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>请求与存储最优解</title>
				<link>https://liaotx.cn/docs/request-storage/</link>
				<pubDate>Sat, 30 May 2026 10:00:00 +0800</pubDate>
				<guid>https://liaotx.cn/docs/request-storage/</guid>
				<description>&lt;h3 id=&#34;请求与存储最优实践&#34;&gt;请求与存储最优实践&lt;a class=&#34;anchor&#34; href=&#34;#%e8%af%b7%e6%b1%82%e4%b8%8e%e5%ad%98%e5%82%a8%e6%9c%80%e4%bc%98%e5%ae%9e%e8%b7%b5&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;一关于请求方式&#34;&gt;一、关于请求方式&lt;a class=&#34;anchor&#34; href=&#34;#%e4%b8%80%e5%85%b3%e4%ba%8e%e8%af%b7%e6%b1%82%e6%96%b9%e5%bc%8f&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;h3 id=&#34;1-post-vs-put-特性对比&#34;&gt;1. POST vs PUT 特性对比&lt;a class=&#34;anchor&#34; href=&#34;#1-post-vs-put-%e7%89%b9%e6%80%a7%e5%af%b9%e6%af%94&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: left&#34;&gt;特性&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: left&#34;&gt;POST&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: left&#34;&gt;PUT&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;语义&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;创建子资源，或提交数据供处理&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;替换整个目标资源（幂等）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;幂等性&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;❌ 不保证幂等（多次请求可能创建多个资源）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;✅ 幂等（多次请求结果相同）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;URI&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;通常由服务器决定最终 URI（如 &lt;code&gt;/posts&lt;/code&gt; → &lt;code&gt;/posts/123&lt;/code&gt;）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;客户端明确指定完整 URI（如 &lt;code&gt;/posts/123&lt;/code&gt;）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;常见用途&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;创建新资源、表单提交、部分更新（PATCH 之前常用）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;全量更新已知资源、创建资源（若客户端指定 ID）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;2-示例对比&#34;&gt;2. 示例对比&lt;a class=&#34;anchor&#34; href=&#34;#2-%e7%a4%ba%e4%be%8b%e5%af%b9%e6%af%94&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: left&#34;&gt;操作&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: left&#34;&gt;使用 POST&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: left&#34;&gt;使用 PUT&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;创建新文章&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;✅ 常见做法&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;也可以（客户端需自己生成 ID，如 &lt;code&gt;/articles/uuid-123&lt;/code&gt;）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;全量更新文章 123&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;❌ 可以但不推荐（不幂等）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;✅ 标准做法&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;提交表单（购物车、联系表单）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;✅&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;❌&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;上传大文件并覆盖已有文件&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;❌（用 PUT）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;✅&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;3-误区与补充&#34;&gt;3. 误区与补充&lt;a class=&#34;anchor&#34; href=&#34;#3-%e8%af%af%e5%8c%ba%e4%b8%8e%e8%a1%a5%e5%85%85&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;POST 也能更新&lt;/strong&gt;：REST 没有禁止 POST 做更新，但 PUT/PATCH 更语义明确&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;部分更新&lt;/strong&gt;：标准做法是用 PATCH，因为 PUT 要求全量替换（缺失字段会被删除）&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;PUT 创建资源&lt;/strong&gt;：允许，但条件是客户端能提供唯一且最终不变的 URI&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;部分 API 实践时&lt;/strong&gt;，只开放 POST + PATCH，忽略 PUT&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;幂等性对网络重试很重要&lt;/strong&gt;（PUT 安全，POST 不安全）&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;快速判断&#34;&gt;快速判断&lt;a class=&#34;anchor&#34; href=&#34;#%e5%bf%ab%e9%80%9f%e5%88%a4%e6%96%ad&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;需要客户端指定完整 URI + 幂等（可安全重试）+ 全量替换  →  PUT&#xA;URI 由服务器决定        + 可能改变状态/创建资源       →  POST&#xA;部分更新且幂等                                          →  PATCH&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;&#xA;&lt;h3 id=&#34;二后端存储&#34;&gt;二、后端存储&lt;a class=&#34;anchor&#34; href=&#34;#%e4%ba%8c%e5%90%8e%e7%ab%af%e5%ad%98%e5%82%a8&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;h3 id=&#34;1-核心原则&#34;&gt;1. 核心原则&lt;a class=&#34;anchor&#34; href=&#34;#1-%e6%a0%b8%e5%bf%83%e5%8e%9f%e5%88%99&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: left&#34;&gt;原则&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: left&#34;&gt;说明&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;数据安全优先&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;丢失比慢更致命&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;按需选择&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;没有万能存储，只有合适场景&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;分层存储&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;热/温/冷数据分离&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;不可变原则&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;能追加不修改，能软删不硬删&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;可观测性&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;慢查询、连接池、容量必须可监控&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;2-数据库选型决策&#34;&gt;2. 数据库选型决策&lt;a class=&#34;anchor&#34; href=&#34;#2-%e6%95%b0%e6%8d%ae%e5%ba%93%e9%80%89%e5%9e%8b%e5%86%b3%e7%ad%96&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;数据关系复杂？联查多？&#xA;├─ 是 → 关系型数据库（PostgreSQL / MySQL）&#xA;│        ├─ 强一致性 + 复杂事务 → PostgreSQL&#xA;│        └─ 读多写少 + 生态成熟 → MySQL&#xA;&#xA;数据量大（TB级）？写入压力大？&#xA;├─ 是 → 分布式数据库&#xA;│        ├─ 强事务 + 水平扩展 → TiDB / CockroachDB&#xA;│        └─ 最终一致性 + 超高吞吐 → Cassandra / HBase&#xA;&#xA;数据结构多变？无 schema？&#xA;├─ 是 → 文档数据库（MongoDB）&#xA;│        └─ 适合：日志、用户画像、CMS&#xA;&#xA;需要全文搜索？&#xA;├─ 是 → Elasticsearch（配合主存储双写）&#xA;&#xA;需要缓存 + 高性能？&#xA;├─ 是 → Redis&#xA;│        └─ 适合：会话、计数器、排行榜、分布式锁&#xA;&#xA;需要图关系（社交、推荐）？&#xA;├─ 是 → 图数据库（Neo4j / Amazon Neptune）&#xA;&#xA;时间序列数据（IoT、监控）？&#xA;├─ 是 → 时序数据库（InfluxDB / TimescaleDB / Prometheus）&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;3-分层存储架构&#34;&gt;3. 分层存储架构&lt;a class=&#34;anchor&#34; href=&#34;#3-%e5%88%86%e5%b1%82%e5%ad%98%e5%82%a8%e6%9e%b6%e6%9e%84&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;                    请求路径&#xA;                       │&#xA;                       ▼&#xA;┌──────────────────────────────────────────────────────┐&#xA;│                    L1: 缓存层                         │&#xA;│   Redis / Memcached                                   │&#xA;│   - TTL 5-15分钟                                       │&#xA;│   - 缓存穿透/击穿/雪崩防护                              │&#xA;└──────────────────────────────────────────────────────┘&#xA;                       │ 未命中&#xA;                       ▼&#xA;┌──────────────────────────────────────────────────────┐&#xA;│                    L2: 热存储                         │&#xA;│   PostgreSQL / MySQL（SSD，主从集群）                  │&#xA;│   - 最近 7-30 天数据                                   │&#xA;│   - 在线服务直接访问                                    │&#xA;└──────────────────────────────────────────────────────┘&#xA;                       │ 归档策略&#xA;                       ▼&#xA;┌──────────────────────────────────────────────────────┐&#xA;│                    L3: 温存储                         │&#xA;│   归档表 / 分区表 / 对象存储（OSS/S3）                  │&#xA;│   - 30 天 ~ 1 年数据                                   │&#xA;│   - 可离线分析                                          │&#xA;└──────────────────────────────────────────────────────┘&#xA;                       │ 长期保存&#xA;                       ▼&#xA;┌──────────────────────────────────────────────────────┐&#xA;│                    L4: 冷存储                         │&#xA;│   对象存储（Glacier Deep Archive）                     │&#xA;│   - 1 年以上数据                                       │&#xA;│   - 取回时间 12-48 小时                                │&#xA;└──────────────────────────────────────────────────────┘&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;4-关系型最优实践&#34;&gt;4. 关系型最优实践&lt;a class=&#34;anchor&#34; href=&#34;#4-%e5%85%b3%e7%b3%bb%e5%9e%8b%e6%9c%80%e4%bc%98%e5%ae%9e%e8%b7%b5&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;h4 id=&#34;表设计&#34;&gt;表设计&lt;a class=&#34;anchor&#34; href=&#34;#%e8%a1%a8%e8%ae%be%e8%ae%a1&#34;&gt;#&lt;/a&gt;&lt;/h4&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;-- ✅ 推荐：软删除 + 审计字段&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;CREATE&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;TABLE&lt;/span&gt; users (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    id BIGSERIAL &lt;span style=&#34;color:#66d9ef&#34;&gt;PRIMARY&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;KEY&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    email VARCHAR(&lt;span style=&#34;color:#ae81ff&#34;&gt;255&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;NOT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;NULL&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;UNIQUE&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    status SMALLINT &lt;span style=&#34;color:#66d9ef&#34;&gt;DEFAULT&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;,           &lt;span style=&#34;color:#75715e&#34;&gt;-- 1:正常 2:禁用 3:已删&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    created_at TIMESTAMPTZ &lt;span style=&#34;color:#66d9ef&#34;&gt;DEFAULT&lt;/span&gt; NOW(),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    updated_at TIMESTAMPTZ &lt;span style=&#34;color:#66d9ef&#34;&gt;DEFAULT&lt;/span&gt; NOW(),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    deleted_at TIMESTAMPTZ,              &lt;span style=&#34;color:#75715e&#34;&gt;-- NULL = 未删除&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;version&lt;/span&gt; INT &lt;span style=&#34;color:#66d9ef&#34;&gt;DEFAULT&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;                &lt;span style=&#34;color:#75715e&#34;&gt;-- 乐观锁&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;-- ✅ 使用 UUID 作为业务 ID（防遍历/分库兼容）&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;-- ❌ 避免用自增 ID 暴露业务量&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;索引策略&#34;&gt;索引策略&lt;a class=&#34;anchor&#34; href=&#34;#%e7%b4%a2%e5%bc%95%e7%ad%96%e7%95%a5&#34;&gt;#&lt;/a&gt;&lt;/h4&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: left&#34;&gt;场景&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: left&#34;&gt;建议&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;等值查询（&lt;code&gt;WHERE email = ?&lt;/code&gt;）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;B-Tree 索引&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;范围查询（&lt;code&gt;WHERE created_at &amp;gt; ?&lt;/code&gt;）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;B-Tree 索引 + 排序方向一致&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;模糊查询（&lt;code&gt;LIKE &#39;abc%&#39;&lt;/code&gt;）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;普通索引（前置通配符 &lt;code&gt;%abc&lt;/code&gt; 用不到索引）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;全文搜索&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;倒排索引（PostgreSQL tsvector / Elasticsearch）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;多条件排序&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;联合索引（覆盖排序字段）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;JSON 字段查询&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;GIN 索引（PostgreSQL）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;&lt;strong&gt;索引黄金法则&lt;/strong&gt;：&lt;/p&gt;</description>
			</item>
			<item>
				<title>深度剖析gRPC服务通信</title>
				<link>https://liaotx.cn/docs/grpc_deep-dive/</link>
				<pubDate>Sat, 30 May 2026 10:00:00 +0800</pubDate>
				<guid>https://liaotx.cn/docs/grpc_deep-dive/</guid>
				<description>&lt;h3 id=&#34;深度剖析grpc服务通信&#34;&gt;深度剖析gRPC服务通信&lt;a class=&#34;anchor&#34; href=&#34;#%e6%b7%b1%e5%ba%a6%e5%89%96%e6%9e%90grpc%e6%9c%8d%e5%8a%a1%e9%80%9a%e4%bf%a1&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;一grpc-核心架构解析&#34;&gt;一、gRPC 核心架构解析&lt;a class=&#34;anchor&#34; href=&#34;#%e4%b8%80grpc-%e6%a0%b8%e5%bf%83%e6%9e%b6%e6%9e%84%e8%a7%a3%e6%9e%90&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;h3 id=&#34;11-设计哲学契约优先&#34;&gt;1.1 设计哲学：契约优先&lt;a class=&#34;anchor&#34; href=&#34;#11-%e8%ae%be%e8%ae%a1%e5%93%b2%e5%ad%a6%e5%a5%91%e7%ba%a6%e4%bc%98%e5%85%88&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;gRPC 采用 &lt;strong&gt;Contract-First（契约优先）&lt;/strong&gt; 的设计思想，先定义接口，再实现逻辑。这种思想的优势在于：&lt;/p&gt;</description>
			</item>
			<item>
				<title>框架高性能实现分析实战</title>
				<link>https://liaotx.cn/docs/gin_high_performance/</link>
				<pubDate>Sat, 30 May 2026 10:00:00 +0800</pubDate>
				<guid>https://liaotx.cn/docs/gin_high_performance/</guid>
				<description>&lt;h3 id=&#34;gin框架高性能实现分析与实战&#34;&gt;Gin框架高性能实现分析与实战&lt;a class=&#34;anchor&#34; href=&#34;#gin%e6%a1%86%e6%9e%b6%e9%ab%98%e6%80%a7%e8%83%bd%e5%ae%9e%e7%8e%b0%e5%88%86%e6%9e%90%e4%b8%8e%e5%ae%9e%e6%88%98&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;gin框架的高性能实现与底层原理深入radix-tree与syncpool&#34;&gt;Gin框架的高性能实现与底层原理：深入Radix Tree与sync.Pool&lt;a class=&#34;anchor&#34; href=&#34;#gin%e6%a1%86%e6%9e%b6%e7%9a%84%e9%ab%98%e6%80%a7%e8%83%bd%e5%ae%9e%e7%8e%b0%e4%b8%8e%e5%ba%95%e5%b1%82%e5%8e%9f%e7%90%86%e6%b7%b1%e5%85%a5radix-tree%e4%b8%8esyncpool&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Gin 是 Go 语言生态中最流行的 Web 框架之一，以其出色的性能和简洁的 API 而闻名。在众多 Go Web 框架中，Gin 始终在性能基准测试中名列前茅。&lt;/p&gt;</description>
			</item>
			<item>
				<title>OpenSource</title>
				<link>https://liaotx.cn/docs/open_source_equality/</link>
				<pubDate>Sat, 30 May 2026 10:00:00 +0800</pubDate>
				<guid>https://liaotx.cn/docs/open_source_equality/</guid>
				<description>&lt;h3 id=&#34;opensource&#34;&gt;OpenSource&lt;a class=&#34;anchor&#34; href=&#34;#opensource&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;hr&gt;&#xA;&lt;img src=&#34;https://liaotx.cn/images/open-source.png&#34; style=&#34;max-width:80%; display:block; margin:0 auto;&#34;&gt;&#xA;&lt;h3 id=&#34;weave-开源架构实践&#34;&gt;Weave 开源架构实践&lt;a class=&#34;anchor&#34; href=&#34;#weave-%e5%bc%80%e6%ba%90%e6%9e%b6%e6%9e%84%e5%ae%9e%e8%b7%b5&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Weave feat/aichat_service 分支中引入对聋哑人等残障人士的对话显示支持，支持将文字、语音内容转换为手语，便利残障人士的使用&lt;/li&gt;&#xA;&lt;li&gt;未来，我们将持续开源、迭代优化&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;技术民主化的理想与现实&#34;&gt;技术民主化的理想与现实&lt;a class=&#34;anchor&#34; href=&#34;#%e6%8a%80%e6%9c%af%e6%b0%91%e4%b8%bb%e5%8c%96%e7%9a%84%e7%90%86%e6%83%b3%e4%b8%8e%e7%8e%b0%e5%ae%9e&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;在技术领域，&amp;ldquo;开源&amp;quot;早已不是一个陌生的词汇。从Linux内核到应用研发生态系统，从TensorFlow到VS Code，开源软件构筑了现代数字世界的基石。但开源仅仅是一种软件开发模式，还是承载着更深层的社会意义？在此探讨一个可能被低估的视角：开源运动与平权理念之间的内在联系。&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
