posts

文章归档

PlumePHP 全站文章的归档入口,按时间倒序汇总各专题的技术文章,并提供按主题浏览的专题分类入口。

这里是全站文章的归档入口,下面是按时间倒序排列的全部文章。若想按主题浏览,请从首页的专题分类进入。

全部文章

全部文章 Books game Java Indie golang 客户端开发 Minigame Saas rust Python
ai

RAG 推理链路优化:把检索、重排与生成串成低延迟流水线

RAG 的端到端延迟由「检索 → 重排 → 上下文构造 → 生成」四段串联,任何一段慢都会拖垮整体。很多人只优化生成,却忽略检索与重排才是长尾的主要来源。本文拆解 RAG 链路的延迟分解,给出检索/重排/生成各段的优化手段、跨段流水线并行、缓存分层设计与端到端评测方法,把 RAG 从「能跑」优化到「快且稳」。

8 分钟阅读
RAG
ai

向量化与重排模型服务优化:Embedding 与 Reranker 的性能工程

RAG 的检索质量与延迟,一半取决于 Embedding 与 Reranker 的服务效率。这两类模型和生成模型截然不同:Embedding 是编码器(高吞吐、批处理友好),Reranker 是交叉编码器(算力密集、批内耦合)。本文拆解它们的服务特征、批处理与量化优化、GPU/CPU 选型、部署架构与评估指标,给出可落地的调优路径。

7 分钟阅读
RAG
ai

LLM 网关与多模型路由:统一入口、策略分流与故障转移

当业务同时接 GPT、Claude、开源模型与自托管推理,直连每个后端会让限流、鉴权、成本核算散落各处。LLM 网关把「多模型调用」收敛成统一入口:协议适配、策略路由、限流配额、故障转移、可观测性一站式解决。本文讲清网关的职责边界、四类路由策略、统一 API 设计、成本与配额治理,以及高可用与灰度实践。

8 分钟阅读
高可用
books

《互联网产品的客户端架构·端形态与体验基础》4.3 用测试固化分层

把视图不能直接访问数据层、领域不能反向依赖视图、模块之间不能有循环依赖写成可执行架构规则,给出 TypeScript 检查器、带原因的例外机制与失败样例报告,并用本机 Node 26 真实测试输出证明三条规则都能拦住真实违规,最后说明如何接进本地检查与 CI 门禁。

6 分钟阅读
书稿 互联网产品 客户端架构
testing

实时通信与 WebSocket 测试:连接生命周期、消息时序、断线重连与并发压测

系统讲解实时通信与 WebSocket 测试的工程化实践:连接生命周期(握手升级、鉴权、心跳保活、优雅关闭)验证、消息顺序与乱序/重复/丢失的至少一次语义、背压与缓冲控制、断线重连的退避与状态恢复、重连风暴防护、连接数与广播的并发压测、mock WebSocket 服务端与录制回放,以及 CI 中的稳定性治理。

8 分钟阅读
WebSocket
testing

gRPC 服务测试:proto 契约、拦截器与 bufconn、流式调用与 HTTP 网关边界

系统讲解 gRPC 服务测试的工程化实践:proto 作为第一类契约与 buf lint/breaking 门禁、生成代码一致性校验、拦截器(Interceptor)单元测试、bufconn 内存传输与真实 stub 集成、四种流式调用的测试手法、deadline 传播与重试策略验证、状态码与 metadata 断言,以及与 grpc-gateway HTTP 网关的边界测试。

8 分钟阅读
gRPC
scala

Scala CLI 与工具链现代化:指令声明、打包发布与 CI 集成

Scala CLI 把「单文件脚本、依赖声明、编译运行打包」压进一条命令,用指令注释替代构建文件,让脚本、原型与小型工具不再需要完整的项目结构与繁琐的构建配置。本文讲清指令声明与依赖解析机制、与 sbt 的职责边界、测试与多文件项目的目录布局、打包与发布方式,以及持续集成与工具链迁移的实际路径、常见坑与规避手段。

9 分钟阅读
Scala
scala

持久化与事件溯源:journal、快照与 CQRS 读模型

事件溯源把系统状态定义为事件序列的折叠结果:写模型只追加不可变事件,读模型由投影派生,命令查询职责分离因此成为它的自然搭档。本文讲清持久化 actor 的命令与事件处理模型、日志与快照如何协作、投影与读模型的构建方式、事件版本演进与兼容策略,并给出恢复性能调优与日常运维的实践要点。

10 分钟阅读
Scala
scala

JSON 编解码与性能:circe 派生、jsoniter-scala 代码生成与选型

JSON 编解码是服务边界上最频繁的一次数据转换,它的性能与健壮性直接决定接口的吞吐和容错能力。circe 用代数数据类型把解析、派生与错误路径都建模成纯函数,jsoniter-scala 则用编译期宏生成无反射的编解码器换取吞吐。本文对比两者的模型与代价,给出派生与自定义的写法、性能实测方法,以及版本演进与向后兼容的实践路径。

10 分钟阅读
Scala JSON 性能