【GPU 算子工程】全景:算子工程在 AI 计算栈的位置
从框架一行 matmul 到 PTX/SASS,拆开 AI 计算栈的分层:框架算子、算子库、手写 kernel、编译器生成。回答工程师什么时候才需要自己写或调 kernel,以及本系列的实验环境与方法。
发布来自土法炼钢兴趣小组的知识、笔记、进展和应用。主题包括数据结构和算法、编程语言、网络安全、密码学等。
共 296 篇文章 · 返回首页
从框架一行 matmul 到 PTX/SASS,拆开 AI 计算栈的分层:框架算子、算子库、手写 kernel、编译器生成。回答工程师什么时候才需要自己写或调 kernel,以及本系列的实验环境与方法。
讲清 grid/block/warp 如何映射到 SM,SIMT 执行与 32 线程 warp 的本质,分支发散为何昂贵(实测 1.7 倍),以及 occupancy 的含义。建立一切 GPU 性能优化的硬件直觉。
从向量加法到归一化,讲清 CUDA kernel 的结构:全局索引计算、grid-stride loop、__syncthreads 同步、launch 配置选择与错误检查。实测 block 大小对带宽的影响,给出安全默认值。
global memory 合并访问与 shared memory bank conflict 是 GPU 访存优化的两大主题。实测跨步访问让有效带宽从 412 跌到 90 GB/s,32 路 bank conflict 让 shared 访问慢 11 倍。讲清成因与规避方法。
occupancy 是 SM 驻留 warp 与上限之比,由寄存器、shared memory、block 限制决定。实测访存密集 kernel 在约 33% occupancy 就饱和带宽,更高 occupancy 无益,并解释寄存器溢出为何让高 occupancy 反而变慢。
Roofline 用算术强度把算子定位到性能上限曲线,回答优化该往算力还是访存使劲。在 RTX 3060 Ti 上实测扫描算术强度,得到经验屋顶线:脊点约 36 FLOP/byte,低强度区贴带宽、高强度区逼近 FP32 峰值 86%。
Nsight Systems 看时间线找哪个 kernel 值得优化,Nsight Compute 看单 kernel 的 SM/内存吞吐、stall reason、occupancy 定位瓶颈。讲清两者分工、关键指标含义,以及没有 GUI 时用 CUDA event 计时的轻量替代方法。
归约是协作类算子的入门。实测三种 block 内归约树:发散+bank conflict 75ms、顺序寻址 44ms、warp shuffle 22ms。同时揭示单遍归约受访存限制时这些优化为何不可见,以及 scan 的并行思路。
GEMM 是 GPU 算子优化的标杆。在 RTX 3060 Ti 上实测四个版本:朴素 990、shared tiling 1309、寄存器分块 64 达 4447、128 达 6375 GFLOP/s(峰值 39%)。讲清每一步优化提高的是什么,以及为什么数据复用是关键。
Tensor Core 把矩阵乘做进专用硬件。实测 RTX 3060 Ti 的 FP16 Tensor 吞吐达 72.8 TFLOP/s,约 FP32 峰值的 4.5 倍。讲清 MMA 指令、wmma fragment API、数据布局与精度要求,以及为什么喂数据才是真正的瓶颈。
CUTLASS 用分层模板把 GEMM 拆成 device/kernel/threadblock/warp/instruction 五层,CuTe 用统一的 Layout 代数描述张量在各级存储的布局。讲清这套抽象如何在不手写 PTX 的前提下把 Tensor Core 喂到接近峰值。
归约类算子是 memory-bound 的典型。讲 softmax 的数值稳定写法(减最大值、在线 softmax)、LayerNorm 的 Welford 单遍方差,以及逐元素融合:实测把 scale+bias+GELU 三个 kernel 融成一个,提速 2.94 倍。
FlashAttention 把注意力重写成分块的在线 softmax,不落地 N×N 分数矩阵,用重算换访存。本文推导算法、给出实测正确的简化实现(误差 4e-7、避免 16.8MB 分数矩阵),并引用原论文的加速与显存数据。
Triton 用 tile(block of pointers)抽象替代 CUDA 的单线程视角,把合并访问、shared 管理、bank conflict 交给编译器,配合 autotune 自动搜配置。讲清它的编程模型、与手写 CUDA 的能力边界,以及为什么它成了算子开发主力。
融合通过减少中间结果的 HBM 往返提速 memory-bound 算子。实测逐元素链融合的加速比随链长线性增长(k=16 时 16.8 倍)。讲清逐元素融合、归约融合、GEMM epilogue 融合,以及什么时候不该融合。
低精度既省显存带宽又提算力。实测 FP16 逐元素算子比 FP32 快 1.81 倍。讲清量化的对称/非对称、per-tensor/per-channel 粒度、反量化时机、INT8 dp4a 与 Tensor Core 路径,以及精度对齐的工程坑。
多卡训练/推理中,通信不与计算重叠就是纯开销。讲三个层次的重叠:kernel 内 cp.async 异步加载、kernel 间 stream 并发、分布式里 NCCL collective 与反向计算的重叠,以及 SM 资源争抢的代价。
单个 kernel 到可维护算子库的工程问题:按 shape/dtype/arch 选 kernel 的 dispatch、autotune 结果缓存、AOT 与 JIT(NVRTC 运行时编译)的取舍。以本系列实际用的 NVRTC JIT 流程为例。
GPU kernel 的 bug 分两类:内存/竞态错误和数值错误。讲 compute-sanitizer 查越界与 race、对参考实现做容差对齐(实测 FlashAttention 误差 4e-7)、浮点非结合性带来的不可复现,以及常见同步陷阱。
算子工程的前沿方向:Hopper 的 TMA 异步搬运与 wgmma、Blackwell 的更低精度、ThunderKittens 等 tile 级库降低门槛、Triton/MLIR 的编译器自动生成算子。本系列测试卡为 Ampere,相关特性为引用与前瞻,明确标注。
从 GPU 执行模型与内存层次出发,系统讲解如何写出并调优高性能 CUDA 算子:访存合并、occupancy、Roofline、Nsight 调优,reduction/GEMM/Tensor Core/FlashAttention 核心算子实现,以及 Triton、CUTLASS、kernel fusion 与算子库工程。
拆开 GPU 的存储金字塔:寄存器、shared memory、L1/L2、global memory 的容量、带宽与延迟量级。用实测展示 L2 命中(约 3.4 TB/s)与 DRAM(约 400 GB/s)相差近一个数量级,解释为什么数据放哪决定算子性能。
面向工程师的大模型基础设施开篇地图,覆盖 2022 到 2026 的工程分水岭、五层工程栈、训练与推理的工程差异、中国与全球行业版图以及成本曲线。
从 CPU 与 GPU 的架构差异出发,讲清楚 SM、Warp、Tensor Core、HBM、NVLink 的工程含义,并结合 Roofline、FlashAttention 与国产算力栈,给出大模型工程师能直接上手的 GPU 心智模型。
从 nvcc 到 Triton,把 NVIDIA 软件栈的每一层拆给大模型工程师看,顺便谈谈 ROCm、CANN 为什么一直追不上。
从 NVLink / NVSwitch / NVL72 到 InfiniBand NDR 与 RoCEv2,再到华为 CloudMatrix、阿里 HPN、腾讯星脉,系统梳理万卡集群互联的工程选型与踩坑。
以工程视角串联现代 LLM 的四阶段训练栈——预训练、中训、SFT 与对齐——覆盖数据、Tokenizer、优化器、精度、Scaling Law 与代表性训练框架。
万卡训练的基石:从 DP、TP、PP、SP、EP 到 ZeRO/FSDP,再到 DualPipe 的零气泡流水,一篇讲透并行策略的工程选型与通信优化。
开源训练框架双雄对比,覆盖 Megatron-LM、DeepSpeed、FSDP2、torchtitan、Colossal-AI,含选型与工程实操。
混合专家(MoE)模型训练工程实战:从 GShard、Switch、Mixtral 到 DeepSeek-V3,覆盖门控、负载均衡、Expert Parallel、All-to-All 通信与 DeepEP / MegaBlocks 等开源栈
从 SFT、奖励模型到 PPO、DPO、GRPO 的完整对齐流水线工程实践,覆盖 OpenAI o1、DeepSeek-R1 等推理模型的 RL 路线与主流框架选型。
万卡集群训练每天都在断:从 GPU HBM ECC、NVLink 降级到 SDC,本篇系统讲 checkpoint、恢复与弹性容错的工程实践。
从 Prefill/Decode 两阶段、KV Cache、Continuous Batching 到 PD 分离,系统讲清楚大模型推理的工程基础。
从数据类型、PTQ/QAT 算法、KV Cache 量化到 H100/B200/MI300/昇腾硬件支持,覆盖 AutoAWQ、GPTQ、SmoothQuant、BitNet 与 vLLM/TensorRT-LLM/llama.cpp 工程落地
从经典 Speculative Decoding 到 Medusa、EAGLE、Lookahead、MTP 与自推测——系统梳理让大模型"一次多吐几 token"的工程方法与引擎支持
从 4K 到 1M+ 上下文的训练与推理工程——位置编码扩展、稀疏 attention、Ring Attention、KV 压缩与长上下文评测
从文档解析、切片、嵌入、索引、检索、重排到生成与评估,系统梳理 RAG 的工程流水线、进阶范式与国内外生态
从 HNSW、IVF-PQ、DiskANN 到 Milvus、Qdrant、pgvector;从稠密稀疏混合到 Microsoft GraphRAG 的工程实操。
从 ReAct 到 LangGraph、AutoGen、CrewAI、Coze,再到 MCP 与 A2A 协议,系统梳理 LLM Agent 框架的工程栈与选型
从 OpenAI function calling 到 Anthropic MCP,深入剖析大模型工具调用的格式、结构化输出、并行调用、协议设计与工程安全边界。
从单机引擎到生产级集群:Triton、Ray Serve、KServe、vLLM OpenAI Server、PD 分离、LoRA 多租户、KEDA 自动扩缩、Serverless GPU 的全景工程实战。
企业级 LLM 调用的统一入口:多供应商路由、配额与计费、语义缓存、Guardrails 与可观测,LiteLLM、OneAPI、Portkey、Kong/Envoy AI Gateway 的工程选型与落地。
面向 LLM、RAG 与 Agent 系统的可观测性工程实战;覆盖 Metrics、Logs、Traces、Token 成本、幻觉评估、Langfuse / LangSmith / Phoenix / OpenLLMetry 与 OpenTelemetry GenAI 语义约定。
从卡时、电费到 AI Act 与 Prompt Injection——一份写给基础设施工程师的大模型成本、合规、安全三位一体手册。
系列收官:从 2022 到 2026 的四年拐点出发,梳理推理时 Scaling、世界模型、Agentic OS、专用芯片、架构创新、端侧、成本腰斩、合规八大趋势,并给出工程师成长路径与 25 篇索引。
DeepSeek-V4 发布后,如果国产芯片已经支撑旗舰模型的关键训练或推理链路,它会怎样影响 NVIDIA 生态、国产 AI 芯片、云厂商、模型团队和工程师的技术选择?
从 MoE 激活比、CSA/HCA 混合注意力、mHC、Muon,到磁盘级 KV cache、FP4 QAT 和专家蒸馏,系统拆解 DeepSeek-V4 为什么能把 1M 上下文和强 Agent 能力做得又强又便宜。
面向中国工程团队的大模型基础设施系列。从 GPU/CUDA/互联、训练框架与 3D 并行、vLLM/SGLang 推理引擎、量化与推测解码、RAG/Agent 到服务化、网关、可观测性与安全合规,覆盖 LLMOps 全链路。
四代 Agent 身份模型:API Key、OAuth 用户 token、Service Account、RFC 8693 Token Exchange 委托链。拆解 subject_token、actor_token、act claim,以及与 JWT/JWKS 系列的交叉引用。
从 coarse scope 到 resource-specific consent:UMA 2.0 Permission Ticket 模型、Google incremental auth 对照,以及 Agent 场景下的动态授权边界。
Tool schema 暴露面、允许列表 vs OPA/Cedar 策略引擎、SQL Agent 的 statement class 与 RLS 边界,以及 Host 层 tool 调用拦截架构。
高风险 Agent 操作的 step-up 认证、同步确认 vs 异步审批队列、超时与 Agent 状态机,以及与自适应认证和 PAM JIT 的衔接。
Model Context Protocol 的 Host/Client/Server 三角、stdio 与 Streamable HTTP Transport 安全差异、OAuth 2.1 for MCP 草案边界,以及多 Server secret 隔离与 tool 攻击面。
多 MCP Server 并存时的 secret 隔离、恶意 tool description 注入、SBOM 与签名验证,以及与零信任软件供应链的联动。
OpenID CAEP/SSE 草案、短有效期 token 与推送撤销、Agent 缓存 PII 风险,以及与 IAM 会话吊销和零信任持续验证的对照。
Agent 最小审计字段集、OpenTelemetry span 建模 tool 调用、PII 清洗点,以及与 PAM/IGA 审计和零信任可观测性的衔接。
IdP + Policy Engine + Agent Gateway + MCP Host 参考架构,Keycloak/OPA/Envoy 能力边界,以及从用户 token 直连到 Gateway 代签的迁移路径。
IAM 系列(人)与零信任系列(边界)的自然延伸:当 LLM Agent 代表用户调用 API、执行 SQL、读写邮件时,传统 OAuth 模型如何扩展?拆解 Token Exchange、MCP 安全模型、工具级授权、持续验证与审计归因。
ClickHouse Materialized View 的触发语义、块级增量与目标表引擎选择;Kafka Engine + MV 典型架构;与 PostgreSQL 触发器/MV 的对照及常见坑。
DuckDB 进程内嵌入式模型、Storage 的 Row Group 与 Column Segment、Catalog 与 checkpoint;与 ClickHouse Server 部署差异及 pg_duckdb 联邦场景边界。
DuckDB 向量批执行、morsel-driven 并行、Pipeline 调度与 spill;源码 execution/parallel 路径;对照 ClickHouse Processors 与 PG volcano 模型。
从部署形态、规模、并发、联邦与运维成本五维对比 ClickHouse 与 DuckDB;给出决策树与组合架构,不排名不测虚构 benchmark。
Too many parts、merge 跟不上 insert、mutation 堆积、副本延迟与 lost replica、max_memory_usage OOM 的症状链、根因与缓解;附测试环境复现框架。
parts_to_throw_insert、merge 线程池、max_bytes_to_merge、merge_max_block_size、磁盘 SSD/HDD 策略与内存预算;MergeTree settings 与服务器级 config 的容量规划方法。
从 OIDC、OAuth 2.1、SAML、SCIM 到多租户权限、CIAM、PAM 与身份平台选型——系统拆解现代身份与访问控制的协议、架构与工程实践。
埋点不是多加几行日志,而是一整套关于什么该记、什么该采样、什么该丢弃的工程决策体系。从信号分层、基数控制、采样策略到落地规范与工程坑点,给出可操作的埋点治理框架。
拆解 Metrics、Logs、Traces、Profiles、Events 五大支柱在磁盘和内存中的内部数据模型。字段级对照 Prometheus TSDB block、Loki chunk、Tempo block,给出带假设的存储成本估算公式,并解释索引策略如何决定账单与查询延迟。
日志 Agent 与管道决定数据能否采得上来、送得到、不丢不炸。对比 Fluent Bit、Vector、Logstash、Cribl 的架构与可靠性,给出 K8s DaemonSet、背压处理与带假设的性能对比模型。
拆解 Jaeger、Tempo、SkyWalking 架构差异与采样策略(头部/尾部/自适应),给出 W3C TraceContext 传播、OpenTelemetry tail_sampling 配置与选型框架。
当用户态观测工具无法定位问题时,深入 Linux 内核追踪层。拆解 ftrace、tracepoint、kprobe、uprobe、bpftrace 的适用场景、WSL/生产复现步骤、安全边界,以及与 eBPF 全景和 linux-net 系列的阅读边界。
SLO 不是定几个 99.9% 的数字,而是连接业务需求与工程决策的治理机制。从 SLI 定义、错误预算计算到 Google SRE 多窗口多燃烧率 PromQL 规则,并说明 DB 层 SLI 如何映射到服务 SLO。
建一套不让人崩溃的告警体系。从 Prometheus Alertmanager 的分组/抑制/静默三元组,到 PagerDuty 排班与升级策略,到分级告警的设计模板与告警质量持续治理。
可观测性数据量持续增长,存储成本常超过计算成本。拆解四大支柱的成本结构、采样与保留期策略、冷热分层架构,以及带显式假设的成本估算 worksheet。
可观测性平台全公司共享时,查询隔离、写入限流、标签治理、PII 清洗与成本分摊的工程实现。以 Grafana Mimir/Loki/Tempo 的 X-Scope-OrgID 为主线,给出 Collector 配置与合规检查清单。
混沌工程验证可观测性与告警是否发现故障:稳态假设、ChaosBlade/Chaos Mesh/LitmusChaos 对比、爆炸半径控制、SLO 判定与 Reliability Backlog 闭环。
中国可观测性市场三条技术路线拆解:云托管、创业 SaaS、开源自建。对照本系列开源栈深度篇,给出场景匹配、锁定风险、信创约束与 TCO 假设模型,不做厂商排名或报价表。
虚构但可复现的 checkout 服务事故全链路:SLO Burn Rate 告警后按 Golden Minute→Metrics→Traces→Logs→Profile→Events 五阶递进排障,含 PromQL/LogQL/kubectl 命令与三条分级剧本,交叉引用系列 01–22。
自建 LGTM 与托管 SaaS 不是二选一。给出 TCO 假设模型、规模临界点、混合迁移与五维决策矩阵,交叉引用存储成本篇与中国厂商篇,不列会过期的厂商报价表。
从 Metrics、Logs、Traces 到 Profiling、eBPF、OpenTelemetry 与 SLO 治理,面向中国工程团队的可观测性系统化手册。全 25 篇。
CXL 内存池化如何动摇 OS 对本地 DRAM 的假设?从资源解耦、CXL.mem 语义、LegoOS/PhantomOS/Twilight 学术原型,到 Linux CXL 驱动、dax、HMM 与 memory tiering,说明 disaggregated OS 的工程边界与 NUMA 演进。
综合 Windows/RTOS/Unikernel/Rust/机密计算/CXL 等前沿篇章,从 Rust 内核、机密计算、可拆分内存、io_uring 统一 I/O、eBPF 可编程内核五条趋势出发,按现在/三年/十年框架说明应用开发者应调整的假设与可执行建议。
SSO 只解决认证,SCIM 解决账号的生命周期管理。但 SCIM 2.0 的实现远不是调几个 REST API 那么简单:User/Group schema 的映射、Delta vs Full sync 的同步策略、Patch 操作语义,每个环节都有坑。本文从账号生命周期的四个关键事件出发,拆解 SCIM 2.0 的核心协议、同步模式、Schema 扩展,以及与企业 IdP(Azure AD、Okta)对接的实际工程经验。
从 2020 年 SolarWinds 到 2024 年 Okta 支持系统泄露,身份基础设施的安全失败反复证明一件事:IAM 不是 IT 支撑系统,而是安全架构的承重墙。本文建立现代 IAM 的全景地图——从认证协议、令牌体系、权限模型到身份治理与平台选型,给出 5 个贯穿全系列的核心问题。
OIDC 是当下企业 SSO 的事实标准,但大多数实现只用了它 20% 的规范。本文从 OIDC 核心规范出发,拆解 Authorization Code Flow + PKCE 的完整交互、ID Token 的验证规则、Discovery 与 Dynamic Registration 的互操作性机制,以及 RP-Initiated Logout 和 Session Management 的工程实现细节。
OAuth 2.1 不是新协议,而是对 OAuth 2.0 的安全加固:废除 Implicit Grant 和 Resource Owner Password Grant,强制 PKCE 用于所有使用授权码模式的客户端,要求精确 redirect_uri 比对。本文从 PKCE 的密码学动机出发,拆解 OAuth 2.1 的授权码流程完整交互、Refresh Token 轮换与发送者约束、DPoP 令牌绑定,以及 DCR (Dynamic Client Registration) 和 RAR (Rich Authorization Requests) 的实际应用。
2026 年了,SAML 2.0 这个诞生于 2005 年的标准在 OIDC 的压力下看似日薄西山,但全球超过 70% 的企业 SaaS 产品仍然把 SAML SSO 放在 Enterprise 定价方案的第一行。本文拆解 SAML 2.0 的核心协议模型、SP-Initiated 和 IdP-Initiated 两种 SSO 流程、NameID 的选择策略、SAML Metadata 的互操作性工程,以及 SAML 和 OIDC 在实际企业客户场景中的选型逻辑。
JWT 不等于 JWS。JWS 是签名格式,JWE 是加密格式,JWK 是密钥表示,JWKS 是密钥集合——这四个规范共同构成了 JOSE(JSON Object Signing and Encryption)技术族。本文从 JOSE 体系全景出发,逐层拆解 JWT 的三段式结构、JWS 的签名算法选择(从 HS256 到 EdDSA 的选择逻辑)、JWE 的密钥加密与内容加密双层模型、JWKS 的密钥轮换与缓存策略。
JWT 的无状态设计带来了可扩展性,但让令牌吊销变成了系统性问题——签出去的 JWT 在到期之前全是活令牌。Refresh Token Rotation、Token Introspection、基于事件的吊销通知、撤销列表——这些机制构成了身份系统的'紧急刹车',各自的成本、延迟和覆盖范围完全不同。本文拆解四种吊销机制的工程权衡。
MFA 从'额外的一道验证码'演变为以 WebAuthn/Passkey 为代表的无密码认证体系,但工程落地不是'加个 TOTP 就完事'——TOTP 的种子存储安全、WebAuthn 的 attestation 与 origin 绑定、Passkey 的跨设备同步与 recover 流程、以及各方案在用户流失率和安全强度之间的现实权衡,每一项都影响架构决策。
MFA 是固定策略——启用后每个人每次登录都要输入验证码。风险感知认证(Adaptive/Risk-based Authentication)让认证强度随风险动态调整:从新设备、新位置触发额外验证,到持续的行为分析和会话风险评估。本文拆解风险引擎的信号模型、设备指纹的实现选型、挑战升级的 UX 设计,以及硅谷大厂的实践对比。
前 9 篇讨论的都是'人'的身份——用户怎么登录、怎么验证。但微服务世界中,80% 的 API 调用是服务之间的。服务身份(Workload Identity)是整个 IAM 体系的另一半:mTLS 解决'传输层你是谁',SPIFFE/SPIRE 解决'在平台层你是谁且怎么证明',JWT Profile for OAuth 解决'我怎么拿到一个服务身份的 Token'。本文从这三条线拆解服务身份的工程实现。
RBAC 简单但会角色爆炸,ABAC 灵活但策略管理失控时更可怕,ReBAC 表达力强但引入了图遍历的性能约束。三种模型不是'选一个升级另一个'的线性关系,而是在表达能力、管理成本和性能三者之间做工程权衡。本文从每种模型的本质数据结构出发,拆解选型框架。
Google Zanzibar 论文在 2019 年发布后,引发了开源授权系统的一波重新设计:Auth0 FGA、SpiceDB、Permify、Ory Keto——全都基于 Zanzibar 的'关系图+命名空间配置'模型。但论文本身只讲了 What,没深入 Why。本文从 Zanzibar 的 relation tuple 模型、namespace config 的语义、consistency 模型(Zookie)和工程权衡出发,拆解为什么 Zanzibar 的设计决策是这样的,以及你自己实现时要面对什么。
OPA 是 CNCF 的策略引擎标准答案,Rego 是它的策略语言;Cedar 是 AWS 开源的新竞争者,基于 Rust 的 WASM 编译执行、语法更接近 SQL。两者在架构模式(sidecar vs 中心化)、策略语言设计哲学和性能特征上有根本差异。本文从策略引擎的架构模式出发,拆解 OPA Rego 的核心语义与性能限制、Cedar 的设计取舍,以及策略即代码(Policy as Code)在 CI/CD 中的落地。
多租户权限系统是 IAM 中工程复杂度最高的场景之一——每个租户想要自己的角色、自己的组织树、自己的审批流和完全隔离的数据。这四种需求会互相冲突。本文从租户隔离模型出发,拆解四层权限架构、租户级 RBAC 的扩展方案、组织树与数据权限的联动,以及跨租户授权(如第三方服务商访问客户数据)的架构设计。
API Gateway 是 IAM 的边界执行点——OAuth Token 的验证、Rate Limit 的绑定、请求级的授权决策都发生在这里。但网关层的认证授权逻辑应该做多厚?BFF(Backend for Frontend)模式把 Session 管理和 Token 兑换从浏览器移回后端后,网关的角色有什么变化?本文从网关层的认证授权架构出发,拆解三种部署模式及其安全边界。
Keycloak 是 CNCF Incubating 项目中最成熟的 IAM 平台,也是自建身份系统的首选开源方案。但它不是'下个 JAR 跑起来就行'的简单软件——Realm 的隔离模型、Authentication Flow 的执行引擎、Client Scope 和 Protocol Mapper 的职责分离、自定义 SPI 扩展点——理解这些内部架构才能做好生产部署。本文从 Keycloak 的核心概念模型出发,拆解其内部执行路径和扩展机制。
自建 Keycloak 省下的 license 费用,会在运维、高可用、多活、定制开发和知识积累上还回去。采购 Auth0/Okta/Entra 省下的运维成本,会在 license 账单、供应商锁定和功能黑盒上付出代价。本文不是产品推荐,而是一个工程决策框架——在什么规模、什么场景下,哪种选择的总成本(TCO)合理。
CIAM(Customer IAM)和 Workforce IAM 的架构差异不只是'人多了一些'——CIAM 面向的是百万到亿级的用户量、自注册到注销的完整消费者生命周期、GDPR/CCPA 的同意管理、跨设备跨渠道的统一身份,以及与营销和 CRM 系统的数据集成。本文从 CIAM 与 Workforce IAM 的本质差异出发,拆解 CIAM 的注册漏斗、渐进式画像、同意管理和 B2B/B2C 混合架构。
PAM(Privileged Access Management)管理的是'有钥匙的人'——域管理员、数据库 DBA、云基础设施 root 账号。IGA(Identity Governance and Administration)管理的是'谁应该有什么访问权限'——访问认证(Access Certification)、权限审计(SoD 分离)、自动化开通。两者加上审计日志构成安全合规的三足鼎立。本文拆解 PAM 的会话劫持与审计、IGA 的访问认证与角色挖掘,以及审计日志的不可篡改设计。
身份系统迁移是整个 IAM 领域中风险最高、回滚最难的操作——用户密码哈希不可逆迁移、MFA 种子不可迁移、WebAuthn credential 绑定到特定 RP ID、数百万活跃 Session 的中断窗口——任何一个环节出错都意味着用户无法登录。本文从迁移的四种策略出发,拆解密码哈希桥接、MFA 重新注册编排、Session 连续性保持、灰度切流的架构设计,以及身份安全事故的应急响应流程。
NIST SP 800-207 给了零信任最权威的定义,但大多数讨论只复述了 7 条原则。本文拆解 NIST 文档的完整架构模型:PEP、PDP、Policy Engine、Policy Administrator 的分工与交互协议、信任算法的三种模型、以及 NIST 有意留白留给实现者的工程决策。
Google 的 BeyondCorp 是最早把零信任从概念推到全公司规模的工程实践。从 2014 年第一篇论文到 2018 年第六篇,这六篇论文记录了每一次架构决策的动机、执行过程和后果。本文不是要点复述,而是把六篇论文当工程复盘来读。
身份感知代理(IAP)是零信任架构中用户进入企业资源的唯一入口——它取代了 VPN 的'拨入内网'模型,把每个 HTTP 请求的认证和授权检查放在资源前面。本文拆解 IAP 协议层的完整请求流、JWT 验证的严格性要求、Header Injection 的安全陷阱,以及 Pomerium/oauth2-proxy/Cloudflare Access 的实现差异。
零信任的'持续验证'从设备姿态开始——TPM 2.0 的远程证明提供硬件级可信测量,osquery 采集操作系统级安全信号,信任引擎把这些信号综合成一个可以写入策略引擎的分数。本文拆解 TPM 2.0 PCR 语义、AIK 证明协议、设备信任分数的计算与衰减模型,以及设备姿态系统的运维陷阱。
零信任把认证从'登录时一次'变成了'整个会话期间的持续评估'。但'持续'在工程中既不可能是'每个请求都完整评估',也不应该是'会话期间不重新评估'。本文回答持续验证的工程实现:什么频率叫持续、当风险信号变化时如何降级或撤销现有会话、以及 OpenID CAEP 协议的草案现状。
在零信任架构中,策略引擎(PDP)是每次访问决策的裁判——不仅要回答'这个人能不能访问这个资源',还要回答'在当前设备姿态、地理位置、时间上下文下,这个人能不能访问这个资源'。本文聚焦策略引擎在零信任场景中的额外要求:多维输入的协同、策略的实时更新、冲突检测和策略即代码的 CI/CD。
微分段是零信任在网络层的核心机制——从传统 VLAN 的广播域隔离,到 Kubernetes NetworkPolicy 的 IP 级别过滤,再到 Cilium 基于身份的 eBPF 执行和 Istio 的 L7 策略。本文拆解四层微分段技术的实现原理、性能差异和适用场景,以及从'全通'到'全白名单'的策略制定流程。
mTLS 是零信任服务间通信的基石,但从'单集群内启用 mTLS'到'全公司多集群、混合云的 mTLS',中间隔着 SPIRE 联邦、跨信任域证书验证、mTLS 握手并发瓶颈、连接池协议兼容性和故障排查等工程问题。本文不重复 SPIFFE/SPIRE 基础,而是聚焦大规模部署中才暴露的问题。
Zero Trust Network Access(ZTNA)是零信任架构中直接替代 VPN 的组件——它把'拨入内网'变成'按应用授权'。本文拆解 SDP 协议的三个阶段、SPA 单包授权的'端口隐藏'机制、Agent-based vs Agentless ZTNA 的实现差异,以及自建 ZTNA 技术栈的可行性。
零信任通常被讨论在网络和身份层面,但数据层才是攻击者的最终目标。当网络控制和身份验证都失败时,数据本身的加密和访问治理是最后一道防线。本文讨论应用层加密 vs 存储层加密、数据分类标签在授权决策中的应用,以及密钥管理的零信任化。
企业的工作负载已经从数据中心移到了 SaaS 和公有云——Google Workspace、Office 365、Salesforce、GitHub 是新的'内网'。零信任在 SaaS 和云原生环境中的实现方式与传统数据中心完全不同。本文拆解 CASB 的零信任化、SSPM/CSPM 的配置审计和多云 IAM 的最小权限实践。
SolarWinds 攻击告诉世界一件事:如果你的 CI/CD 管道被攻破,攻击者不需要攻破生产系统——在构建时注入后门就够了。本文拆解 SLSA 框架的四级成熟度、Sigstore 的无密钥签名机制、以及 SPIFFE/SPIRE 如何为 CI/CD 管道提供短有效期身份。
零信任不是 binary 的'做完/没做完'。CISA 的零信任成熟度模型(ZTMM v2.0)将零信任分解为五个支柱,每个支柱有四个成熟度等级。本文拆解 ZTMM 的评估框架,以及每个支柱从初级到高级的工程跳跃具体意味着什么。
零信任最重要的工程问题不是'采购什么产品',而是'怎么迁移'。已有 500 个遗留系统、数十个无法停机的关键业务、几千台未被管理的设备——本文拆解四种遗留系统升级策略、渐进式切流的流量控制与回滚条件,以及迁移中的人力成本和组织阻力。
零信任架构生成的安全日志比传统架构多一个数量级——每个访问代理的决策、每次 mTLS 握手、每条微分段策略的 allow/deny 事件。如果没有配套的日志聚合、异常检测和自动化响应,零信任就是一个'黑盒式拒绝'系统。本文拆解零信任的三层日志和特有的检测规则。
基于三个公开资料最充分的零信任实施案例——Google BeyondCorp、美国联邦政府 EO 14028 和金融服务行业——做工程视角的交叉对比分析:他们各自的基础条件、优先级选择、踩过的坑和时间线。
零信任的现状主要服务于'人访问应用'和'服务调用服务'两种模式。但三个新兴场景正在挑战零信任的基本假设:AI Agent 的自主操作、边缘计算的间歇性连接、以及 PQC 对 X.509 证书和 mTLS 握手的冲击。本文展示工程挑战和当前最优实践,不假装有成熟的标准答案。
零信任是 IAM 的自然延伸——当身份变成新边界,VPN 的'拨入即信任'模型必须被'永不信任、始终验证'取代。本系列从 NIST SP 800-207 规范、Google BeyondCorp 六篇论文、SPIFFE/SPIRE 联邦到微分段、持续验证、ZTNA 和零信任迁移的工程策略,系统拆解零信任的每一种组件和每一步实施。
从三阶段编译器局限出发,串联 Halide、XLA、TVM 的 IR 裂变,说明 DSA 与 AI 编译器为何需要 MLIR 这类可组合的多层 IR 框架。
从 Module-Operation-Region-Block 四层结构出发,系统讲解 MLIR 的三条核心设计原则:渐进降阶、方言可组合性、基础设施复用,配合 IREE、CIRCT、Torch-MLIR 等实际案例建立心智模型。
从零构建 LLVM/MLIR 工程,用 mlir-opt 理解 .mlir 文本表示,运行规范化 Pass 并逐行解读转换结果,建立从命令行到 IR 变换的直觉。
深入 Operation、Op、Value、Block、Region 的 C++ 内存布局与继承体系:CRTP 模板包装、SSA 值的两种来源、Use 链表的遍历方法。这是后续所有 Pass 写作的基础。
解析 MLIR 的类型体系:内建类型(Integer、Float、Tensor、MemRef)与自定义方言类型的注册机制;区分 Type 与 Attribute 的设计意图;通过 OpBuilder 理解类型和属性在 IR 构造中的实际角色。
深入 MLIR 的 ODS 与 TableGen 工具链:从 .td 定义到自动生成的构建器、验证器、解析/打印器,理解声明式 IR 定义如何减少手写样板代码。
解析 MLIR 的嵌套区域控制流表示:Block 参数替代 phi 节点的设计动机、Region 的 SSACFG 与 Graph 两种类型、结构化控制流的表示能力,以及与 LLVM 经典 SSA 形式的对比。
详解 MLIR 的 Pass 基础设施:OperationPass 与 ModulePass 的分类与适用场景、Pass 依赖管理与流水线构建、Pass 选项系统、多线程执行模型,以及 mlir-opt 的调试命令。
深入 MLIR 的模式重写引擎:RewritePattern 的驱动模型、matchAndRewrite 的匹配与替换协议、规范化(Canonicalization)规则的编写、折叠与代数简化的最佳实践,以及 GreedyPatternRewriteDriver 的工作机制。
系统讲解 MLIR 的方言转换框架:TypeConverter 的类型映射、ConversionTarget 的合法性检查、完整转换与部分转换的适用边界、以 linalg bufferization 为例展示渐进降阶的实现模式。
解析 AI 编译的核心抽象层:Tensor 方言的不可变语义与操作、Linalg 方言的结构化操作(逐元素、归约、收缩)及其通用表示 linalg.generic,以矩阵乘法为例展示从高层表示到底层循环的完整降阶路径。
深入 MLIR 的循环层表示:Affine 方言的仿射约束与依赖分析、与多面体(Polyhedral)模型的联系、SCF 方言的结构化控制流,以及从 affine.for 到 scf.for 的降阶过程。
解析 MLIR 的 GPU 代码生成框架:GPU 方言的层次化并行模型(Block/Thread/Memory)、gpu.launch 的语义、SPIR-V 出口路径、内存层次抽象与 tiling 策略,以及与 Triton、IREE 的协作关系。
系统比较 PyTorch(Torch-MLIR)、TensorFlow(MHLO)、JAX(StableHLO)、ONNX(ONNX-MLIR)四种 AI 框架到 MLIR 的桥接方案:各自的 IR 翻译路径、方言映射方式和复用关系,分析 StableHLO 作为跨框架统一 IR 的地位与局限。
手把手构建微型 Tensor DSL:ODS 定义方言、写 tiny-to-linalg 降阶 Pass,经标准管线生成 LLVM IR,走完编译链闭环(参考 MLIR Toy 教程)。
MLIR 编译开发的实用工具箱:mlir-opt 的流水线诊断、IR dump 与 Pass 前后对比、mlir-tblgen 的使用方法、Pass 崩溃定位与 reproducer 生成、性能剖析与 IR 可视化工具的完整操作指南。
以 IREE 为实例,展示 MLIR 在实际 AI 编译器项目中的集成方式:编译流程剖析、HAL 运行时设计、设备驱动抽象、部署到移动端或边缘设备的完整链路。
全系列收官:回顾 MLIR 的设计哲学如何重塑编译器工程的边界,审视 MLIR 2.0 的社区规划、AI 生成编译器的可能性与陷阱、以及编译器基础设施的开放问题——从方言生态到 DSCO 愿景。
从三阶段编译器局限出发,系统讲解 MLIR 方言、渐进降阶与 Pass 基础设施,覆盖 Tensor/Linalg/Affine/GPU 到框架桥接的完整编译链。
金融科技(FinTech)不是普通后端加一张账户表。钱的原子性、监管的硬边界、一个小数点的代价,把这个领域推进到工程强度最高的那一档。本文是【金融科技工程】25 篇的总目录与阅读地图:先交代为什么它比一般业务系统更难,再给出对账体、支付体、交易体、风控合规体四维分类,把后续 24 篇挂到骨架上,最后给出一份绿地项目的落地顺序建议。
支付与账务系统里,"这笔操作能不能重放一遍"几乎是每一次故障复盘都会问到的问题。本文从网络重试的本质谈起,讲清楚幂等(idempotency)的三层设计、Idempotency-Key 的工程细节、订单状态机的落库方式,并横向对比 2PC、TCC、SAGA、可靠消息四种分布式事务方案,配合 Outbox Pattern、CDC、补偿策略与真实事故案例,给出一份可以直接落地的检查清单。
从业务系统到支付宝、微信、银联、Visa、Stripe、Airwallex,中间这一层"支付网关"承担了路由、限流、熔断、补单、签名、异步通知分发等几乎所有脏活累活。本文系统整理一个自研或半自研支付网关的工程设计,包括数据模型、双状态机、路由策略、密钥管理与可观测性。
SaaS 与云服务的订阅与用量计费工程实践:计费模型、计量(Metering)、订阅生命周期、账单与发票、dunning、出海税务(VAT/GST/sales tax/消费税)、定价引擎与数据模型。
深入剖析中央限价订单簿(CLOB)撮合引擎的数据结构与算法,覆盖价格时间优先、Pro-Rata、订单类型、自成交预防、集合竞价、确定性回放、WAL 快照、单线程事件循环与 Disruptor 模型,并给出 Rust/Go 简化实现与单元测试清单。
从金融本质、分层架构到文件格式、匹配算法、差错处理与调账流程,系统讲解对账系统的工程落地,包含 Python/Go 示例、Mermaid 状态机与大型平台十亿级对账方案。
中文互联网上最系统、最深入的系统架构设计技术博客系列。不做面试八股文搬运,不做最佳实践清单——每一篇文章都回答真实的工程问题、呈现关键的 trade-off、拆解生产环境中的真实案例。
从订单网关到撮合引擎、从 L1/L2/L3 行情到清算与结算,系统梳理证券、期货、加密货币交易所的五大核心子系统;给出低延迟工程技术栈(Disruptor、Kernel Bypass、FPGA)、订单生命周期状态机、主流交易所(NYSE Pillar、Nasdaq INET、上交所新一代、CME Globex、Binance、dYdX v4)对比、以及 Flash Crash 与 Knight Capital 的工程教训。
主流推理引擎的架构、性能、生态深度对比,给出工程选型与落地决策依据。
从 L3/L4/L7 三层观测视角出发,讲 eBPF socket filter / tc / XDP 数据采集与 Cilium Hubble 流日志、Tetragon 安全可观测、Pixie 协议自动解析、DeepFlow 架构;展开 bpftrace + kfree_skb_reason 的内核丢包定位、TLS 解密、HTTP/2 解析与服务拓扑自动发现。
系统梳理 2023 年以来中国司法实践对生成式 AI 的关键判决:北京互联网法院 Stable Diffusion 春风画面案、广州互联网法院奥特曼案、上海浦东新区奥特曼新案、杭州互联网法院 AI 生成图可版权性案,以及围绕训练数据、平台责任、深度伪造、声音人格权的典型案件。每个案例给事实、裁判要点、与他国判例的比较、工程合规启示。
软件架构的定义至少有三种主流理解,每种指向不同的关注点。本文对比 Booch、Fowler、Johnson 三家定义,分析架构决策的不可逆性特征,拆解 Krutchten 4+1 视图模型,回答一个核心问题:架构和设计的边界到底在哪里。
需求评审时写下的'高可用、高性能、高并发',到了架构设计阶段几乎无法落地——因为它们不是可执行的需求。本文从 SEI/CMU 的质量属性理论出发,用 stimulus-response 场景模型把模糊需求变成可量化、可验证的架构约束,并拆解属性之间的冲突与联动关系。
口头约定的架构决策会在人员流动中丢失,会在争论中反复翻车。ADR(Architecture Decision Records)用一种轻量的文档格式,把每一个关键技术决策的背景、选项、理由和代价写下来,跟着代码一起版本管理。本文从 ADR 的三种主流格式讲到 Git 仓库中的实操管理,再拆解 Spotify 和 Uber 的工业实践。
架构评审最怕'感觉还行'。本文完整拆解 ATAM 方法的三阶段九步骤流程,从质量属性效用树的构建、敏感点与权衡点的识别,到风险主题的归纳,用一个电商平台案例走完全过程。同时给出 ATAM 太重时的轻量替代方案。
系统复杂性是架构腐化的根源——本文从 Brooks 的本质复杂性与偶然复杂性划分出发,结合认知负荷理论与 Parnas 的信息隐藏原则,系统阐述复杂性的来源、度量与控制手段,并给出可操作的架构策略
架构图画完三个月就过期,架构文档写完没人看。问题不在于画不画,而在于用什么模型画、用什么方式维护。本文从 C4 模型的四层视图出发,拆解 diagram-as-code 工具链和文档即代码的工程实践,给出一套让架构文档能活下来的方法。
单体架构不等于大泥球。本文拆解单体架构的真实定义、模块化单体的设计方法、Shopify 的大型 Rails 单体实践,以及单体与微服务在工程效率上的量化对比,回答一个被回避太久的问题:什么时候单体才是正确答案?
分层架构是软件工程中存活时间最长的架构模式。本文拆解分层的核心价值——关注点分离与依赖管理,区分 Layer 与 Tier 的本质差异,对比严格分层与宽松分层在耦合度、可测试性和性能上的真实影响,分析依赖倒置如何从根本上改变分层方向,并结合 Spring Boot 和 Django 的分层变体给出工程判断。
微服务不是免费的午餐。本文从分布式系统八大谬误出发,拆解微服务真正解决的问题与引入的代价,梳理服务边界划分的工程方法论,还原 Amazon 和 Netflix 从单体到微服务的真实演进时间线,给出微服务适用与不适用的判断框架。
事件通知、事件携带状态转移、事件溯源三种模式经常被混为一谈,但它们在耦合度、数据一致性、存储成本和调试难度上有本质差异。本文基于 Martin Fowler 的 EDA 分类,拆解三种模式的机制与取舍,分析 Kafka 在事件驱动架构中的角色与局限,讨论事件排序的工程挑战和 schema 演进策略。
CQRS 不是 Event Sourcing 的附属品——本文从 Greg Young 的原始定义出发,拆解简单 CQRS 与完整 CQRS 的区别、读模型物化视图策略、最终一致性的用户体验设计,以及不和 Event Sourcing 绑定时 CQRS 仍然有价值的场景。
六边形架构、洋葱架构和整洁架构在本质上共享同一条依赖规则——本文从 Alistair Cockburn 的原始论文出发,统一解读三种架构的核心思想,并给出 Go 和 Java 中端口-适配器的落地实现。
管道与过滤器是最古老也最持久的架构模式之一——本文从 Unix 管道的设计哲学出发,拆解过滤器的无状态性与可组合性,分析现代 ETL 管道与 Apache Beam 统一模型的架构原理,并与事件驱动架构做系统对比。
当数据库成为扩展瓶颈时,空间架构通过内存数据网格和处理单元复制实现近线性水平扩展——本文从元组空间的理论根基出发,剖析处理单元、虚拟化中间件的设计,并深入分析 Hazelcast 和 Apache Ignite 的架构实现。
系统扩展性并非简单堆机器就能获得线性增长。本文从 Amdahl 定律和通用可扩展性定律(USL)出发,用数学模型量化串行化比例与一致性开销对吞吐量的真实约束,并结合工程案例说明如何识别瓶颈、选择扩展策略。
有状态服务是水平扩展的最大障碍。本文从 Session、文件上传、WebSocket 三个典型场景出发,拆解状态外置模式、JWT 与服务端 Session 的架构级差异,以及 Sticky Session 的真实代价,给出从有状态到无状态的完整迁移路径。
缓存是系统性能优化的第一道防线,但缓存穿透、击穿、雪崩等问题让它也成为故障的高发区。本文从五种缓存读写模式的选型矩阵出发,拆解多级缓存的一致性协议,剖析 Facebook Memcache 论文中的工程决策,给出一套从本地缓存到分布式缓存的完整设计方法论。
当单表数据量突破千万行、查询延迟从毫秒级劣化到秒级时,分库分表往往是团队面临的第一个选项。本文从分片时机判断、三种分片策略的工程实现、跨分片查询的六种解法讲起,再拆解 Vitess、TiDB、CockroachDB 三套工业级方案的架构差异,回答一个核心问题:NewSQL 能否让我们彻底告别分库分表?
在分布式系统中,服务之间的直接同步调用会导致强耦合、级联故障和性能瓶颈。消息队列(Message Queue)作为异步通信的核心基础设施,在现代架构中承担着解耦、削峰、容错等关键职责。然而,引入消息队列并非没有代价——投递语义的选择、顺序性保证、消费者组再平衡、幂等消费等问题,每一个都隐藏着工程陷阱。本文将从原理到实践…
互联网应用的用户遍布全球,从北京到纽约、从东京到伦敦,一次 HTTP 请求如果需要跨越半个地球才能到达源站服务器,延迟可能高达数百毫秒。内容分发网络(Content Delivery Network,简称 CDN)通过在全球各地部署边缘节点,将内容推送到离用户最近的位置,从根本上缩短了用户与内容之间的物理距离。本文将从…
每一次网络请求的背后,都隐藏着建立连接的成本。当应用服务器需要与数据库通信时,一次完整的连接建立过程可能消耗数十毫秒;在高并发场景下,频繁创建和销毁连接会迅速耗尽系统资源,成为整个架构中最容易被忽视的性能瓶颈。连接池(Connection Pool)技术通过预先创建并复用连接,将单次连接获取的时间从毫秒级压缩到微秒级,…
Active-Passive、Active-Active、N+1 冗余——不同模式的故障检测与切换机制有何差异?本文拆解高可用的度量体系、冗余模型、故障转移机制、脑裂问题与 Fencing 策略,结合 VIP 漂移与 DNS 切换的工程实现,讨论主备切换中的数据一致性,最后以某支付系统数据库高可用架构为例,给出模式选型的完整对比。
重试为何反而让系统雪崩?熔断器的状态机如何设计才不会误判?本文从一次重试风暴引发的雪崩事故出发,系统拆解熔断器(Circuit Breaker)状态机设计与参数调优、舱壁(Bulkhead)资源隔离策略、级联超时预算分配、指数退避与抖动的数学原理,深入分析 Resilience4j 与 Sentinel 的架构差异,讨论装饰器组合顺序的陷阱,最后给出工程案例复盘和弹性模式选型对比。
同城双活、异地多活、两地三中心——名词背后是完全不同的 RPO/RTO 和成本曲线。本文从容灾基础概念出发,拆解数据同步的五种拓扑、流量调度与 DNS 切换的工程细节,深入分析蚂蚁金服 LDC(逻辑数据中心)的多活架构,最后给出不同容灾等级的成本对比与选型建议。
SLI、SLO、SLA 不只是运维指标——它们是架构决策的定量依据。本文从 Google SRE 的 Error Budget 策略出发,拆解多窗口燃烧率告警的数学原理,讲清楚 SLO 如何在产品与工程的冲突中充当仲裁者,并给出基于 Prometheus 和 Grafana 的落地方案。
容量规划不是'加机器'。本文从排队论基础讲起,用 Little 定律和 M/M/c 模型建立容量预测框架,再拆解全链路压测的设计方法和容量基线与水位线管理的工程实践,用一个电商大促案例走完从历史数据分析到资源供给的全过程。
混沌工程不是随机破坏——它是一套严谨的实验方法论。本文从混沌工程的五条原则出发,拆解 Netflix 从 Chaos Monkey 到 Chaos Kong 的演进历程,对比 LitmusChaos、ChaosBlade、Chaos Mesh 等工具的架构差异,讲清楚故障注入的分类学和 GameDay 演练的落地流程。
深入讲解性能建模的核心数学工具——Little 定律、M/M/1 与 M/M/c 排队模型、USL 通用可扩展性定律以及 USE 方法,用公式推导、代码实现和真实案例帮助架构师在改代码之前就定位系统瓶颈。
尾延迟为什么比平均延迟重要 100 倍?Fan-out 场景下延迟放大的数学本质是什么?本文从百分位数学出发,拆解 Jeff Dean 的 Tail at Scale 论文核心思想,深入分析协调省略陷阱、延迟预算分解、对冲请求与绑定请求策略,结合 OpenTelemetry 全链路追踪和 HDR Histogram 实战,给出可落地的延迟优化方法论。
单机吞吐量的理论上限取决于硬件并行度和软件调度效率。本文从 Amdahl 定律出发,分析批处理的最优批大小、流水线的级间平衡、Nagle 算法与 TCP_CORK 的工程权衡,给出数据库批量写入、Kafka 生产者调优、网络写合并等真实场景的优化路径。
thread-per-request、Reactor、Proactor、协程——不同线程模型决定了系统的并发上限和架构形态。本文从 C10K 问题出发,逐一拆解 select/poll/epoll 的演进、Reactor 与 Proactor 的设计差异、Go goroutine 的 GMP 调度、Java 21 Virtual Thread 的实现原理、Rust async/await 的零成本抽象,并通过 Nginx、Node.js、Netty 的工程实践说明线程模型如何约束整个系统架构。
一次普通的文件传输在 Linux 内核中要经历 4 次数据拷贝和 4 次上下文切换。sendfile、splice、mmap、io_uring、DPDK 各自用不同的方式缩减这条路径,但每种方案都有自己的使用条件和工程限制。本文从 Linux 内核的数据搬运路径出发,拆解五种零拷贝(Zero-Copy)技术的机制与取舍,结合 Kafka、Nginx、DPDK 的工程实践,讨论什么场景该用、什么场景不该用。
从 B+树索引的 I/O 成本模型、查询优化器的统计信息偏差到连接池大小与数据库并发度的关系,系统性地分析慢查询背后的架构级问题,涵盖索引设计、EXPLAIN 计划解读、HikariCP 连接池调优与 N+1 查询治理等核心主题。
从流量录制与回放、影子流量架构到压测数据隔离,系统讲解如何在不影响生产环境的前提下验证系统的真实性能极限。
范式化和反范式化的决策点在哪里?文档模型真的比关系模型更灵活吗?本文从工程实践出发,分析关系范式的真实意义、文档模型的 join 困境、图模型的适用场景,帮助架构师做出理性的数据建模决策。
SQL、KV、Document、Graph、Time-series——如何为不同数据需求选择正确的存储?本文从 CAP/PACELC 定理的实际应用出发,分析多存储间的数据一致性挑战,复盘 Uber 从 Postgres 迁移到 MySQL+Schemaless 的教训。
Lambda、Kappa、Lakehouse 三种架构的本质区别和适用场景是什么?本文深入 Delta Lake 和 Apache Iceberg 的设计原理,分析流批一体的工程挑战,并提供数据质量保证的架构方案。
流处理的 exactly-once 语义在工程上到底有多难?窗口计算的语义陷阱是什么?本文深入 Flink 的 checkpoint 机制、事件时间与处理时间的工程影响,对比 Kafka Streams 与 Flink 的架构差异。
一个生产级搜索系统除了倒排索引,还需要哪些架构组件?本文分析分布式索引的分片策略、相关性排序的工程实现,深入 Elasticsearch 的集群架构与运维陷阱。
时序数据的写入密集、查询模式固定——如何利用这些特征设计高效存储?本文深入 Gorilla 编码原理、降采样策略,对比 InfluxDB、Prometheus、TimescaleDB 的架构设计。
如何在不停机的前提下完成数据库 schema 迁移、数据格式升级、存储引擎更换?本文深入 Expand-Contract 模式、双写双读的一致性保证,复盘 GitHub 的 gh-ost 和 Stripe 的在线迁移实践。
Saga、TCC、本地消息表、事务发件箱——应用层一致性方案的选型依据是什么?本文深入每种模式的补偿机制设计,对比 Saga 编排与协调,剖析 Eventuate Tram 的实现原理。
REST、GraphQL、gRPC 三种 API 范式各自的最佳场景是什么?为什么很多团队的 REST API 越用越痛?本文从 Richardson 成熟度模型讲起,深入 GraphQL 的 N+1 问题、gRPC 的流式通信,用实际工程案例和代码拆解三种范式的真实权衡。
从路由转发、限流熔断到认证鉴权与协议转换,系统讲解 API 网关在微服务架构中的职责边界,对比 Kong、Envoy、APISIX 三大方案,并给出 BFF 模式与高可用设计的工程实践。
在动态扩缩容和容器化部署成为常态的今天,静态 IP 配置已经无法应对服务实例的频繁变化。服务发现与注册机制为分布式系统提供了一张实时更新的通讯录,使服务之间能够在不感知底层拓扑变化的前提下完成通信。本文从客户端发现与服务端发现两种模式出发,深入拆解 Consul、Eureka、Nacos 三大注册中心的架构差异,讨论 DNS 服务发现的局限、健康检查的工程挑战、服务网格中的发现机制,以及优雅关停与反注册的实践细节。
配置应该放在代码里、环境变量里、还是配置中心里?本文从 12-Factor App 的配置理念出发,拆解配置的分层模型,深入分析 Apollo、Nacos、etcd 三大配置中心的架构与取舍,讨论动态配置灰度发布、配置加密与审计、Feature Flags 等工程实践。
2022 年某电商平台在"双十一"大促期间,因网关超时重试机制配置不当,导致支付服务在 3 分钟内对同一笔订单执行了两次扣款。受影响用户超过 1.2 万人,平台不得不在 48 小时内完成逐笔退款与补偿,直接经济损失超过 800 万元。事后复盘发现,根本原因并非网络故障本身,而是支付接口缺乏幂等性(Idempotency…
微服务拆分之后,服务间的接口兼容性成为系统稳定性的最大隐患。Pact 的消费者驱动契约、Protobuf 和 Avro 各自不同的 Schema 演进规则、Confluent Schema Registry 的兼容性策略——这些机制共同构成了服务间的信任协议。本文从一个真实的 Breaking Change 事故出发,拆解契约测试与 Schema 演进的工程实践,给出可落地的 CI/CD 集成方案。
推送系统的核心难度不在协议选型,而在连接管理、心跳检测、断线重连、消息可靠投递这些工程细节。本文从 WebSocket 帧格式、SSE 重连机制、MQTT QoS 三级语义讲起,拆解百万长连接的 epoll 单机架构,深入分析心跳探活、指数退避重连、离线消息队列的设计取舍,结合即时通讯和物联网两个工程案例,讨论推送系统从单机到集群的水平扩展路径。
一个中型电商系统里,"订单"在交易团队意味着"待支付的购物车快照",在物流团队意味着"等待拣货的配送单",在财务团队意味着"一条应收账款记录"。三个团队共用同一张 torder 表、同一个 OrderService 类,每次迭代都互相踩脚。这种混乱的根源不是代码质量,而是缺少一项最基本的架构决策——限界上下文(Boun…
某团队在实施领域驱动设计时,把整个"订单"建模为一个聚合根(Aggregate Root),其中包含订单基本信息、所有订单行、配送信息、支付记录、物流轨迹、评价数据。结果这个聚合加载一次需要从 7 张表联查,保存一次需要锁定整个订单树。并发下单高峰期,数据库锁等待飙升至秒级。这就是典型的"大聚合"反模式——聚合的边界画…
一个 20 人的开发团队花了两个月画 UML 图和写需求文档,依然对核心业务流程的理解存在分歧。直到有一天,团队把领域专家、开发者、测试人员全部拉进一个大会议室,用橙色便利贴写出了系统中发生的所有事件——两个小时后,所有人第一次在同一幅图上看到了业务全貌。这就是事件风暴(Event Storming)的力量。
某金融科技公司正在构建新一代交易系统。新系统使用领域驱动设计,模型清晰、代码整洁。然而它必须对接一套运行了 15 年的核心银行系统(Core Banking System)——这套系统的接口返回 COBOL 风格的定长字段,状态码用两位数字表示("01"正常、"02"冻结、"99"未知),金额用"分"而非"元"为单位。…
某金融交易平台在引入事件溯源(Event Sourcing)后,获得了完整的审计日志和时间旅行能力。但三个月后,团队发现一些事件流已经积累了超过 10 万条事件,聚合加载时间从毫秒级退化到秒级。更麻烦的是,业务迭代中修改了事件结构,旧版本事件无法反序列化。这些问题不是事件溯源本身的缺陷,而是工程实践上的坑——教科书通常…
某电商团队按数据库表拆分微服务——用户服务管 tuser,商品服务管 tproduct,订单服务管 torder。看起来边界清晰,实际运行中却发现:下单需要同步调用商品服务查价格、调用库存服务检查库存、调用优惠服务算折扣、调用用户服务查地址,一个下单请求扇出 4 次 RPC,任意一个服务超时整条链路就失败。这种"一实体…
用户登录这件事,从单体时代的 Session-Cookie 到微服务时代的 JWT,再到企业级 SSO 的 OIDC,每一次演进都在解决上一代方案的痛点,同时引入新的复杂性。本文从 Session 的状态管理问题出发,拆解 JWT 的无状态验证机制与吊销困境,深入分析 OAuth 2.0 授权码流程的完整攻击面,给出 SSO 架构选型的工程判据。
授权是安全架构的核心环节。本文从 RBAC 的角色爆炸问题出发,深入剖析 ABAC、ReBAC 与 Google Zanzibar 模型,并结合 OPA 策略引擎的集成实践,给出权限数据存储与缓存的工程方案。
VPN 解决的是'谁能进入内网',但进入之后的横向移动几乎不受约束——这正是近年来大规模数据泄露事件的核心攻击路径。零信任架构(Zero Trust Architecture)将安全判定点从网络边界下沉到每一次请求,通过 mTLS、SPIFFE/SPIRE、持续身份验证和微分段实现'永不信任,始终验证'。本文从 BeyondCorp 模型出发,拆解零信任的核心组件、工程实现和选型取舍。
OWASP API Security Top 10 中,BOLA 连续两版占据榜首,却是日常开发中最容易被忽视的漏洞类别。本文从 BOLA、SSRF、注入攻击三条攻击链出发,拆解 WAF 失效的根本原因,讨论 API 网关安全架构与 Shift-Left 策略的工程落地方法,结合金融科技公司的纵深防御实践,回答一个核心问题:如何在 API 层面建立系统性的安全防线。
数据加密看似只是调用一个 API,实际涉及三个完全不同的威胁模型和工程取舍。本文从静态加密、传输加密、应用层加密三个层次出发,拆解信封加密原理、KMS 架构设计、TDE 性能影响与同态加密的工程可行性,给出可落地的多层加密方案。
证书过期导致全站宕机的事故屡见不鲜——根源不是某个运维人员忘了续期,而是组织缺乏自动化的证书生命周期管理。本文从 PKI 基础架构讲起,深入 ACME 协议的自动化流程、短期证书策略、HSM 硬件密钥保护,给出 cert-manager 与内部 PKI 的完整落地方案。
非结构化日志在分布式系统中几乎无用——你无法用 grep 在 500 个 Pod 的输出里定位一个跨服务的超时问题。本文从结构化日志的设计规范讲起,拆解 ELK 和 Loki 两大日志栈的架构差异与成本模型,深入讨论日志采样、动态日志级别、日志管道的流量控制与安全合规,结合 Uber 和 Cloudflare 的工程实践,给出可落地的日志架构设计方案。
Prometheus 的 pull 模型在小规模集群中简洁高效,但当目标实例超过十万、指标基数突破千万时,单实例架构迅速遇到瓶颈。本文从时序数据库的存储原理出发,拆解 Prometheus、VictoriaMetrics、Thanos 的联邦与长期存储架构,分析基数爆炸的成因与治理手段,结合 USE、RED、Golden Signals 三种方法论,给出大规模指标监控体系的工程设计路径。
分布式追踪的采样率设多少?100% 采样的成本和收益分别是什么?本文从 Google Dapper 论文的 Trace/Span 模型出发,拆解 W3C Trace Context 标准的传播机制,深入 OpenTelemetry SDK、Collector、Exporter 三层架构,对比 Jaeger 与 Tempo 的存储设计差异,讨论头部采样、尾部采样与自适应采样的工程取舍,结合 Uber 迁移 OpenTelemetry 的实战经验,给出追踪数据驱动的自动拓扑发现与关键路径分析方法。
大多数团队的告警系统都在制造噪声而不是传递信号。阈值告警看似直观,实则产生大量误报和漏报,值班工程师在凌晨三点被叫醒,却发现只是一次无害的毛刺。本文从告警疲劳的工业数据出发,拆解基于 SLO 的多窗口燃烧率告警算法,深入 Alertmanager 的路由、抑制与分组机制,结合 PagerDuty 的告警疲劳研究和真实工程案例,给出一套可落地的告警策略设计方法。
深入剖析蓝绿部署、金丝雀发布与滚动更新三大策略的选型依据,结合 Argo Rollouts 分析驱动发布、GitOps 流程与 Feature Flag 解耦实践,探讨数据库 Schema 变更时的安全发布方案。
Feature Flag 不只是 if-else——当系统中存在数千个 flag 时,如何分类管理、控制生命周期、避免技术债务堆积?本文从特性开关的四种分类出发,拆解 LaunchDarkly 与 Unleash 的 SDK 架构和求值引擎,深入讨论 flag 清理策略、渐进发布、A/B 实验集成,结合 Netflix、GitHub 等公司的工程实践,给出可落地的特性开关治理方案。
凌晨三点的告警响了,你打开笔记本,盯着一堆指标不知道从哪里下手——两小时后发现是配置改错了。这种经历几乎每个 oncall 工程师都有过。本文从 Incident Command System 在 SRE 中的适配讲起,拆解从告警到根因的系统化排查路径,覆盖事件分级、假设驱动调试、事后复盘的无责文化、Google 与 Meta 的 oncall 体系,给出可落地的 Runbook 模板和 Postmortem 模板。
2013 年 3 月,Solomon Hykes 在 PyCon 上用五分钟演示了 Docker 的原型:一条命令就能把应用连同依赖打包成一个可移植的单元,在任何 Linux 机器上秒级启动。这个演示没有展示任何新技术——namespace 在 2002 年就进入了 Linux 内核,cgroup 在 2007 年由…
2014 年 6 月,Google 将其内部容器编排系统 Borg 的设计思想提炼并开源,发布了 Kubernetes(简称 K8s)项目。Borg 在 Google 内部运行了超过十年,管理着数百万个容器实例,支撑了搜索、Gmail、YouTube 等核心服务。根据 Google 2015 年发表的论文《Large-…
2023 年,Datadog 发布的年度 Serverless 报告显示,超过 70% 的 AWS 用户已在生产环境中使用 Lambda,平均每个组织部署了超过 1000 个 Lambda 函数。然而,同一份报告也指出,冷启动(Cold Start)仍然是开发者最关注的性能问题——在 Java 运行时中,P99 冷启动…
2023 年 12 月,一家金融科技公司的运维工程师在 AWS 控制台上手动修改了一条安全组规则,把某个内部服务的端口从仅限 VPC 内访问改成了 0.0.0.0/0。这次修改的目的是临时排查一个跨区域的连接问题,本打算五分钟后改回来。结果工程师被另一个紧急工单打断,忘记了这件事。三天后,自动化扫描工具发现该端口暴露在…
2023 年,某头部电商平台在全量接入 Istio 后发现:每个 Pod 的内存占用增加了 40-70 MB,p99 延迟从 12 ms 上升到 18 ms,整个集群每月多出数万美元的计算成本。这并非个例。CNCF 2024 年度调查显示,超过 60% 的受访企业已在生产环境中使用或评估服务网格(Service Mes…
2019 年,一家欧洲金融科技公司在 AWS 上运行全部核心业务。年度 AWS 账单 1200 万美元,合同续签时 AWS 给出的折扣力度不如预期。CTO 拍板:"我们要做多云,把 30% 的工作负载迁到 GCP,增加谈判筹码。"18 个月后,GCP 上确实跑了一部分服务,但公司为此新招了 8 名专职云平台工程师,重写…
2022 年,Spotify 公开了一个数据:新工程师从入职到第一次将代码部署到生产环境,平均只需要不到一天。在同一年,Humanitec 对 1000 多家企业的调查显示,没有内部平台的公司里,这个过程的中位数是两周到一个月——主要时间花在了"找人问怎么配置 CI 流水线""等待 Ops 团队开通 Kubernete…
2016 年,英国某大型零售商投入 3 年、耗资数亿英镑试图用"大爆炸"方式重写其核心电商系统,最终项目被彻底取消,旧系统继续运行。这并非孤例——Netscape 6 的全面重写导致公司丧失浏览器市场主导地位,而 Friendster 的重写则直接加速了公司的消亡。大爆炸重写(Big Bang Rewrite)的失败率…
Ward Cunningham 在 1992 年首次提出技术债务(Technical Debt)这一概念时,他将其类比为金融债务:为了快速交付而做出的技术妥协就像借款,后续的维护成本就是利息。三十多年过去了,技术债已经从一个形象的隐喻演变为可以被精确量化的工程指标。根据 Stripe 2018 年的调研报告,全球开发者…
架构决策写在文档里,三个月后没人记得;架构评审会上达成的共识,半年后被新来的同事无意打破。这是每一个经历过大型系统演进的架构师都深有体会的痛点。当系统规模超过 50 个微服务、团队人数突破 200 人时,仅靠文档和评审来守住架构约束,几乎不可能。Netflix 在 2018 年提出的「铺好的路(Paved Road)」…
全球超过 70% 的企业核心交易仍运行在 20 年以上的遗留系统(Legacy System)之上。银行的核心账务跑在大型机(Mainframe)COBOL 程序里,电信的计费系统依赖上世纪的 C/C++ 代码,政府的社保系统还在用 PowerBuilder 客户端。这些系统每天处理着数以亿计的交易,承载着关键业务逻辑…
架构设计不是凭空想象,而是需要工具辅助的系统性工程。从最初的白板画图到如今的代码化架构描述(Architecture as Code),架构师手中的工具箱经历了深刻的变革。一个成熟的架构团队,至少需要在三个维度上配备趁手的工具:建模与描述——将头脑中的架构意图精确表达出来;可视化与沟通——让不同角色的干系人都能理解架构…
很多团队在推进微服务化的过程中会遇到一个诡异的现象:技术方案设计得很漂亮,领域模型划分得也合理,但落地之后服务之间的耦合度却越来越高,接口爆炸式增长,跨服务调用链路越来越深。排查下来,根本原因往往不在代码里,而在组织架构里——三个团队负责的三个服务之间,恰好复刻了三个团队之间的汇报关系和沟通路径。这就是康威定律(Con…
2006 年,Jack Dorsey 发出第一条推文时,Twitter 只是一个运行在单台服务器上的 Ruby on Rails 应用。到 2012 年,它已经变成一个由数百个 JVM 微服务组成的分布式系统,每秒处理超过 40 万条推文的写入和数十亿次时间线读取。这段演进历程浓缩了互联网架构从单体到微服务、从通用数据…
Netflix 在 2008 年经历了一次长达三天的数据库故障,导致 DVD 寄送业务全面瘫痪。这次事故促使团队做出了一个关键决策:放弃自建数据中心,全面迁移到亚马逊云服务(Amazon Web Services,AWS)。这一决策不仅重塑了 Netflix 的技术栈,还催生了混沌工程(Chaos Engineerin…
Uber 在 2010 年上线时只有一个 Python 单体应用,服务三个城市的出行需求。到 2020 年,这家公司运行着超过 4000 个微服务,覆盖出行、外卖、货运、金融等多条业务线,日均处理数千万次行程请求。这段十年的技术演进史,浓缩了单体拆分、微服务膨胀、治理回归三个阶段的完整教训。本文将从时间线出发,逐层拆解…
微信月活跃用户超过 13 亿。每天有超过 450 亿条消息在这个系统中流转,峰值时每秒的消息量达到数千万级别。这个数字背后,是一套从移动网络层到存储层、从消息同步协议到支付系统的完整技术体系。
2024 年双十一,天猫交易峰值达到 58.3 万笔/秒。这个数字背后,是阿里巴巴十余年架构演进的结晶——从最初的单体 LAMP 栈,到如今横跨全球多个数据中心的单元化架构(Logical Data Center,LDC),每一次双十一都是对系统极限的真实检验。本文将从单元化架构、分库分表中间件、全链路压测、弹性伸缩、…
Google 在 2003 年发表 GFS 论文时,整个行业还在用单机数据库处理 Web 请求。此后二十年间,Google 内部基础设施经历了多次代际演进,从 GFS 到 Colossus,从 MapReduce 到 Flume,从 Borg 到 Kubernetes,从 Bigtable 到 Spanner。这些系统…
Slack 每天为超过一千万活跃用户提供实时消息服务,峰值时段同时维持数百万条 WebSocket(全双工通信协议)长连接。一条消息从发送到被同一频道所有成员看到,端到端延迟通常控制在 200 毫秒以内。这套系统并非一蹴而就:它从一个 PHP 单体应用起步,历经数次关键重构,逐步演变为以 Hack、Go、Java 为核…
从 Lambda 架构的双轨困境出发,深入剖析 Kappa 架构与批流一体的演进逻辑,对比 Flink 与 Spark Structured Streaming 的核心差异,解读 Delta Lake、Apache Iceberg 等 Table Format 的技术之争,并给出实时数仓的落地架构方案。
从 FATF 四十项建议、OFAC、AMLD、人民银行反洗钱监管出发,系统讲解 KYC 生命周期、身份核验、制裁名单筛查、交易监测系统(TMS)、案件管理、加密货币旅行规则与 Travel Rule 协议的工程实现。
USE 方法论适用于资源,RED 方法论适用于请求,Golden Signals 适用于服务——三套方法论各有其适用对象。本文从 Brendan Gregg、Tom Wilkie、Google SRE 的原始定义出发,构建覆盖资源→服务→业务的完整指标体系,并给出 Prometheus 命名规范、基数治理策略与可抄的指标清单。
从 Prometheus 架构与数据模型出发,系统梳理 Remote Write、PromQL 进阶、Thanos 全局聚合、Mimir 多租户、VictoriaMetrics 性能、M3DB 原理,以及五者在大规模生产场景下的对比矩阵与迁移实践。
从日志场景分类出发,深入对比 Elasticsearch/OpenSearch、Grafana Loki、ClickHouse、OpenObserve 四大方案在全文检索、写入吞吐、存储成本、多租户和运维复杂度上的本质差异,结合 B 站、知乎 ClickHouse 日志平台实践,给出选型决策矩阵与工程坑点。
从 OpenTracing 与 OpenCensus 合并到今天的 OTel v1 稳定版,梳理 SDK 生命周期、Collector 流水线、OTLP 协议与 Semantic Conventions 的工程意义,并结合阿里 ARMS、观测云、夜莺等国内实践,给出多租户与尾采样的落地建议。
深入剖析持续性能分析(Continuous Profiling)的原理、架构与落地实践,覆盖 Parca、Pyroscope、Grafana Beyla 三大主流方案,包含 eBPF 采样、符号解析、火焰图、差异分析以及字节跳动、美团的生产案例与工程坑点。
面向 2026 年数据库研究前沿的系列索引,覆盖 AI-Native DB、向量与图检索、HTAP、Serverless、CXL、隐私计算与可验证数据系统。
汇总本站系统设计类文章,覆盖一致性哈希、序列化成本与系统语言实测等案例。
vLLM 的两大核心革新——Continuous Batching 让 GPU 打满、PagedAttention 让显存不再碎,推理吞吐量因此跃升一个数量级。本篇从操作系统类比到工程实操全盘拆解。
在代码里正确地表示"一笔钱"远比看起来难。本文系统梳理金额的数值建模(浮点、定点、Decimal、最小单位)、币种标准(ISO 4217)、本地化显示、汇率换算与数据库存储,并给出 Go、Python、Java、Rust 的工程化示例。
把 500 年历史的复式记账翻译成工程师可以落地的数据模型、SQL 表结构与余额计算策略,覆盖充值、下单、退款、分润、红包、多币种与冲销的真实场景,并对比 TigerBeetle、beancount、Ledger CLI、Square LedgerDB、Stripe Ledger 等开源与工业实现。
账务(Ledger)数据库是金融系统最硬的那块骨头。本文从 RPO/RTO 目标出发,对比 PostgreSQL、MySQL、OceanBase、TiDB、CockroachDB、Oracle、TigerBeetle 等主流选型,讲分片维度、热点账户拆解、索引设计、冷热归档、MVCC 并发控制与审计合规,辅以蚂蚁、Stripe、PayPal、Square 的真实演进路径。
把模糊的"支付"一词拆成可工程化的系统分类——四方参与者、收单发卡双边、卡组织与钱包通道、中国与国际的费率结构、实时支付浪潮、以及一张完整的资金流图。
一笔刷卡交易从 POS/网关到发卡行再到清算的全链路剖析:授权、认证(3DS)、清算、结算、争议与对账;ISO 8583 报文拆解、BIN/PAN/Token、EMV 3DS、PCI DSS 与 HSM;附 Python/Go 构造 0100 报文示例。
从工程师视角梳理支付宝开放平台与微信支付的商户接入路径、签名体系、预授权、分账、退款、对账单下载与三方对账,结合服务商模式下的二清合规边界与真实坑点。
一文讲清 Clearing、Settlement、Cash Pooling 三个最易混淆的金融词汇的工程区分;从 RTGS/DNS 的选型、PvP/DvP 的风险消除机制,到商户清分引擎、T+1 批处理、二清合规边界,再到网联 IBPS、FedNow、PIX 的实时化浪潮。
梳理世界主要经济体的央行大额与小额支付基础设施,覆盖中国 CNAPS/CIPS/网联、美国 Fedwire/FedNow、欧元区 T2/T2S/SEPA、以及 SWIFT、UPI、PIX,工程者如何接入与落地。
从工程视角拆解跨境支付的参与方、资金流、汇率、合规与对账:代理行与 SWIFT MT103/gpi、Nostro/Vostro 账户、Wise/Airwallex 的"本地收本地付"、FX 点差与锁定、稳定币与 CBDC 跨境(mBridge)、中国出海商户的持牌链路、AML/制裁名单工程。
从工程视角拆解 CBDC、稳定币与数字人民币 e-CNY 的系统架构差异:双层运营、四类钱包、双离线支付、可控匿名;稳定币储备模型与跨链桥;mBridge、Project Agorá 跨境互联;以及商户接入 e-CNY 的落地清单。
从 L1/L2/L3 分级、FIX FAST/ITCH/SBE 协议到 UDP 组播+重传通道、内核旁路与微波传输,系统梳理交易所行情系统的生产、分发与消费;给出 snapshot+incremental 恢复机制、Conflation 与 Full Tick 权衡、kdb+/ClickHouse/QuestDB tick 存储、事件时间回放与 K 线合成实现,并附 Binance WebSocket Diff Depth 维护本地订单簿的 Go/Python 示例。
从交易所撮合成交到资金与证券最终易手的"最后一公里"——CSD 登记托管、CCP 中央对手方、结算系统、DvP 三种 BIS 模型、净额结算、保证金瀑布、T+1 切换与 DLT 证券结算的工程视角。
系统拆解支付与交易场景下的实时风控引擎:三层防线、规则引擎(Drools/Aviator/CEL)、特征平台、画像、图风控、ML 打分、决策编排与 Champion-Challenger,辅以 Go 代码与分层架构 SVG。
系统梳理反欺诈工程:欺诈类型、特征工程、模型演进(规则到 GNN)、类别不平衡、图风控、实时决策、对抗性与可解释性,附 Python + NetworkX + LightGBM 简化团伙识别与欺诈评分示例。
从申请授信到贷后催收,系统梳理消费金融、信用卡、先买后付(BNPL)的信用风险工程全链路;覆盖 FICO、VantageScore、央行征信二代、芝麻信用等评分体系,逻辑回归 + WOE/IV 与 LightGBM A 卡建模,PD/LGD/EAD 风险定价,Klarna/Affirm/花呗分期 BNPL 架构,以及 CFPB、个保法、24%/36% 利率红线下的合规边界。
金融系统的可用性不是 SLA 表里的一个数字,而是人民银行、银保监、GB/T 20988 六级灾备、SOX、FFIEC 这些监管框架共同压出来的工程形态。本文从 RTO/RPO 的定义出发,走过单机→主备→同城双活→两地三中心→三地五中心→单元化(LDC/Set)的架构演进,拆解异地多活的数据同步、冲突处理与流量调度,配套混沌工程、全链路压测、应急预案与复盘文化,最后用 Go 写一个可运行的多活流量切换骨架。结合光大 8·16 乌龙指、2021 AWS us-east-1 故障、2020 工行手机银行故障、蚂蚁春节红包等公开案例展开。
系列收官。从货币形态、即时支付、AI、隐私计算、DeFi、监管科技、云原生、后量子密码八大趋势出发,给出未来 5–10 年的工程判断;再给出从入门到专家的金融科技工程师成长路线,以及书单、论文、开源项目与 25 篇全景索引。
面向中国工程团队的金融科技系列。从账务底盘、支付、清结算、交易所、风控合规到可靠性与灾备,中国与全球视角并举,讲清楚金融系统在工程落地中的真实挑战。
面向做闭源/商业产品的团队:逐一拆解 MIT、LGPL、GPL、AGPL、SSPL、BSL 在 SaaS、私有化部署、移动 App、嵌入式固件等形态下的许可边界,给出三级名单模板、CI 扫描配置、SBOM 存证方案与出海补充要求。
一篇话讲清楚:网络爬取训练语料、书籍/代码/图片数据集、合成数据与 RAG 私域数据在著作权法上的真实边界。覆盖美国 fair use、欧盟 TDM 例外、日本 30-4 条、中国合理使用与生成式 AI 司法态度;逐个拆解 Books3、Common Crawl、LAION-5B、The Pile、StarCoder、Stack Exchange 等高频数据集的许可现状;给出工程团队在预训练、微调、RAG 三个场景下的可执行检查清单。
模型权重到底是代码、数据、还是全新的客体?为什么 Meta 的 LLaMA、Google 的 Gemma、Stability 的 StableLM、BigScience 的 BLOOM 选了完全不同的许可证?OpenRAIL-M 的 'Use-Based Restrictions' 在工程上如何落地?本文逐条解析 8 类主流模型许可证,给出企业自研、微调、商用、二次分发四个场景的决策清单。
面向中国工程团队的开源许可、版权与合规系列。从 GPL、AGPL、Apache、木兰协议到中国真实案例、SCA/SBOM 工具链与出海合规,讲清楚开源在工程落地中的坑与方法。
从控制论到云原生:拆解可观测性的五大信号支柱,对比监控与可观测性的本质区别,梳理开源/商业/SaaS 分类,以及国内互联网公司三大支柱落地现状与典型工程坑点。
监控与可观测性不是新旧迭代,而是认知模型的根本转换。本文梳理从 1999 年 Nagios 到 2019 年 OpenTelemetry 的二十年演进时间线,对比 push/pull 模型、数据模型差异,以及国内从 Zabbix 到 Prometheus 再到 OTel 的典型迁移路径与工程坑点。
深入时序数据库的存储内核:Prometheus TSDB 的 WAL 与块管理、InfluxDB 的 TSM 引擎与 TSI 倒排索引、Gorilla 压缩算法的数学原理、VictoriaMetrics mergeset 架构、ClickHouse MergeTree 作为 metrics 后端,以及国内大厂在 series churn 和 compaction 风暴上踩过的坑。
从 CPU/heap/goroutine/lock/off-CPU 等 Profiling 种类出发,比较采样与插桩两类 profiler 的工作原理,深入 Go pprof、Java async-profiler/JFR、Python py-spy、Pyroscope、Parca eBPF Profiling,以及 OpenTelemetry Profiles 的最新进展,给出国内字节美团的真实落地经验与工程坑点。
把 Events 作为可观测性第四/五支柱来讲:变更事件、K8s Events、业务事件的数据模型,CloudEvents CNCF 规范,Kubernetes Event Exporter,Grafana Annotations,Argo Events,以及如何把发布打点与 Traces/Metrics 关联,实现\"变更即根因\"的故障响应方法论。
eBPF 如何实现零侵入、内核级、低开销的可观测性:从 kprobe/uprobe/tracepoint/fentry 钩子机制,到 bcc 工具集、bpftrace 脚本语言、libbpf+CO-RE 可移植编程,再到 Pixie、DeepFlow、Grafana Beyla 等商业化工具,结合内核版本兼容性与生产部署实战。
企业开源战略的完整决策框架:何时开源与为何开源、六种商业模式对比(Open Core/双许可/托管服务/支持服务/Source Available)、中国案例(PolarDB/OceanBase/TiDB/鸿蒙/麒麟)、协议改变的教训与代价、以及完整的决策树。
面向工程团队的开源许可证完整操作手册:许可证选型决策树、LICENSE/NOTICE/SPDX 文件写法、第三方依赖声明、CI 自动化检查、发布物合规标注,以及六套真实可复制的项目结构模板。
2018 年 8 月,红芯浏览器在完成 2.5 亿元融资后被发现基于 Chromium 换皮。本文从工程角度复盘这一事件:Chromium BSD-3 协议本身允许什么、不允许什么,如何通过文件指纹识别 Chromium 魔改,以及深度 Deepin、统信 UOS、麒麟 Kylin、中科曙光等国产系统的开源合规现状。
数字天堂 vs 柚子科技(2019)、不乱买案(2018)、罗盒 vs 玩友(2019–2020)——这批中国 GPL 诉讼案件厘清了 GPL 作为合同在中国法律框架下的效力,以及违反 GPL 的法律后果。本文梳理案件脉络、判决核心争议与工程合规启示。
一篇写给中国工程团队的开源世界地图:从 1983 年 Richard Stallman 发起 GNU 项目、1998 年 OSI 成立、2018 年 MongoDB 更改 SSPL,到 2020 年开放原子开源基金会成立、再到 2024 年大模型时代的 OpenRAIL 与 LLaMA 许可,把四十年的关键事件、基金会、协议演进和中国线索串成一张可直接指导选型的全景图。
从《著作权法》2020 年修订到《计算机软件保护条例》,从软著登记到 GPL 在中国法下的合同说与许可说之争:面向工程师、架构师与 OSPO 的中国软件著作权实战指南。
从 MIT 到 AGPL,从 SPDX 标识符到 OSI 认证:一篇讲清楚四类开源许可证的边界、兼容性矩阵、SSPL/BSL 的争议、Commons Clause 事件,以及工程里最常见的踩坑场景和选型建议。
从 GPLv2 的 distribute 到 GPLv3 的 convey,再到 AGPL-3.0 的网络交互条款,本文系统梳理动态链接、容器镜像、SaaS 部署、嵌入式固件在 Copyleft 语境下的触发边界,并给出工程化合规清单与真实案例。
深入解析开源许可证中的专利授权条款与商标政策:Apache 2.0 §3、GPLv3 §11、Microsoft-Novell 事件、Firefox/IceWeasel、Rocky Linux、红旗 Linux、NPE 专利流氓以及 GPLv2 与 Apache 2.0 的兼容性陷阱。
深入对比 MIT、BSD 家族与 Apache 2.0 的条款差异:NOTICE 文件义务、专利授权、重新授权权利;BSD advertising clause 的历史与废除;ISC 许可证的关系;以及阿里、腾讯、字节内部为何强烈推荐 Apache 2.0 的工程原因。
深入解析 GPLv2 到 GPLv3 的条款变化、Tivoization 反规避与 DRM 条款、专利终止条款;LGPL 链接例外的工程边界;以及 Linus Torvalds 拒绝升级到 v3 的真实原因与嵌入式生态影响。包含路由器厂商、国内 Android 设备的 GPL 合规真实案例。
深入解析 AGPL v3 网络 Copyleft、MongoDB SSPL、Elastic ELv2、HashiCorp BSL、Redis RSALv2 等"反云"许可证的条款机制与工程影响;阿里云、腾讯云、华为云的应对策略;以及 OceanBase、TiDB 选择 Apache 2.0 对冲此类风险的逻辑。
深入解读木兰宽松许可证 v2(OSI 认证)与木兰公共许可证 v2(弱 Copyleft)的条款:专利明示授权、中英双语法律效力、中国管辖条款;openEuler、openGauss、OpenHarmony、PaddlePaddle 的使用情况;以及与 Apache 2.0 的对比选择建议。
系统梳理文档(CC 家族)、数据库(ODbL/PDDL)与 AI 模型(OpenRAIL、LLaMA、Mistral、Qwen、DeepSeek)的许可框架;OSI 2024 年开源 AI 定义(OSAID 1.0);以及书生·浦语、智源、百川、通义千问、DeepSeek 在中国的协议演变。
2020 年末 Red Hat 宣布 CentOS 8 提前 EOL,将 CentOS 转向滚动发布的 CentOS Stream。本文梳理 Rocky Linux、AlmaLinux 的诞生,2023 年 Red Hat 关闭 RHEL 公开源码后的生态应对,以及中国线索:openEuler、龙蜥 Anolis OS、TencentOS、UOS Server 的路线选择与企业迁移决策框架。
华为 HarmonyOS、OpenHarmony、开放原子开源基金会、MindSpore、OpenGauss——这批「捐赠给基金会」的项目意味着什么?本文分析 OpenHarmony 的许可证结构、开放原子基金会的治理模式、商标归属与 Fork 权利,以及与 Android/AOSP 治理的对比。
OceanBase 选 MulanPubL-2.0,TiDB 选 Apache 2.0,Apache Doris 走基金会路线,StarRocks 从闭源 fork 再开源用 Elastic License 2.0,SequoiaDB 选 SSPL。本文分析中国开源数据库在协议选择背后的工程逻辑、商业动机与云厂商生态策略。
软件成分分析(SCA)与软件物料清单(SBOM)的工程落地指南:SPDX、CycloneDX 格式详解,商业与开源工具对比,美国 EO 14028、欧盟 CRA、中国等保 2.0 合规要求,以及从引入 Syft 到接入策略网关的实施路径。
从 TODO Group 定义出发,拆解 OSPO 的职责矩阵、中国大厂实践(华为、阿里、腾讯、字节跳动)、最小可行 OSPO 模型与成熟度路径,给出不同规模企业的落地方案。
CLA(贡献者许可协议)与 DCO(开发者起源认证)的完整工程指南:Apache ICLA 逐条解析、DCO 1.1 实操、CNCF 要求、国内 openEuler/OpenHarmony 实践、中国法适用性争议,以及 GitHub Actions 集成模板。
面向中国开发者的出口管制合规指南:EAR 法规框架、ECCN 5D002 加密分类、实体清单对 Linux Foundation/Apache/CNCF 的影响、OFAC 制裁国对开源贡献的约束、国密算法出口,以及 Apache 基金会贡献的注意事项。