从这里开始

第一次访问时先按主题切入,比直接沿着时间线翻文章更快。

热门专题

把已经形成系列阅读闭环的主题集中在首页,减少在 400 多篇文章里盲找的成本。

最新文章

按最近更新时间排序;如果你想系统性阅读一个主题,优先回到上面的专题入口。

【系统架构设计】架构质量属性:不只是"高可用高性能"

需求评审时写下的'高可用、高性能、高并发',到了架构设计阶段几乎无法落地——因为它们不是可执行的需求。本文从 SEI/CMU 的质量属性理论出发,用 stimulus-response 场景模型把模糊需求变成可量化、可验证的架构约束,并拆解属性之间的冲突与联动关系。

【系统架构设计】架构决策与 ADR:如何做出可追溯的技术决策

口头约定的架构决策会在人员流动中丢失,会在争论中反复翻车。ADR(Architecture Decision Records)用一种轻量的文档格式,把每一个关键技术决策的背景、选项、理由和代价写下来,跟着代码一起版本管理。本文从 ADR 的三种主流格式讲到 Git 仓库中的实操管理,再拆解 Spotify 和 Uber 的工业实践。

【系统架构设计】单体架构:被严重低估的选择

单体架构不等于大泥球。本文拆解单体架构的真实定义、模块化单体的设计方法、Shopify 的大型 Rails 单体实践,以及单体与微服务在工程效率上的量化对比,回答一个被回避太久的问题:什么时候单体才是正确答案?

【系统架构设计】分层架构:最古老的模式为何仍然有效

分层架构是软件工程中存活时间最长的架构模式。本文拆解分层的核心价值——关注点分离与依赖管理,区分 Layer 与 Tier 的本质差异,对比严格分层与宽松分层在耦合度、可测试性和性能上的真实影响,分析依赖倒置如何从根本上改变分层方向,并结合 Spring Boot 和 Django 的分层变体给出工程判断。

【系统架构设计】事件驱动架构:从消息通知到事件溯源

事件通知、事件携带状态转移、事件溯源三种模式经常被混为一谈,但它们在耦合度、数据一致性、存储成本和调试难度上有本质差异。本文基于 Martin Fowler 的 EDA 分类,拆解三种模式的机制与取舍,分析 Kafka 在事件驱动架构中的角色与局限,讨论事件排序的工程挑战和 schema 演进策略。

【系统架构设计】CQRS:读写分离的架构哲学

CQRS 不是 Event Sourcing 的附属品——本文从 Greg Young 的原始定义出发,拆解简单 CQRS 与完整 CQRS 的区别、读模型物化视图策略、最终一致性的用户体验设计,以及不和 Event Sourcing 绑定时 CQRS 仍然有价值的场景。