2019 到 2026 年,七家公司在代码边界、服务边界、部署拓扑、API 聚合和数据契约上都有过真实调整,拼起来能看出微服务规模化之后边界治理往哪儿迁移。
Posts for: #architecture
ADR 与 Service Catalog:我在架构治理里反复用到的两类文档
微服务规模增大后我开始补的两类结构化文档,问答体:ADR 记下为什么这样选,catalog-info.yaml 记下这是什么、归谁、依赖什么。
Feature flag 的隐藏成本:被低估的复杂度、flag 债务的成因、Keystone Interface 模式
Pete Hodgson 在 KubeCon NA 2025 讲《Feature Flags Suck!》:加开关的代价大多在水下,清理要靠元数据和激励对齐,更根本的是从源头少加,标准那一层交给 OpenFeature。
2026 年多仓库微服务文档聚合策略:Docs-as-Code + Docusaurus 统一门户
多仓库微服务的文档体系,我最后用的是中央架构 Repo 加各服务 Repo 内的 /docs/ 目录,再用 Docusaurus 收成统一入口,文档贴近代码,检索入口只有一个。
电商 Guest-First 购物体验:无需注册也能完整下单
注册门槛往往会抬高结账流失。Shop Platform 现在的做法是 guest JWT 加 Redis 游客购物车(TTL 48 小时),游客订单靠 order_token 追踪,登录后再合并购物车;buyer-portal 和 buyer-app 在这段体验上还有差别。
CDN 和 DNS 是怎么配合工作的?网站如何在 DNS 宕机里争取可用性
从递归解析器、权威 DNS、CDN 导流到边缘 PoP 的完整链路出发,整理 CDN 与 DNS 如何协作,以及网站如何在 DNS 宕机、控制面异常和缓存收敛延迟中争取更好的可用性。
Confluent Kafka topic 该分多少分区:按业务规模算,再对成本和连接数
Confluent Kafka 的 topic 分区数按当前业务规模假设算了一轮,起步先按 12 个分区配置。
微服务契约共享的 Tradeoff:从 Monorepo 到 Polyrepo,该共享到哪一步
BFF 与微服务之间到底该共享到哪一步?Shop Platform 的 monorepo 实践之外,共享 contracts、共享 client 和契约测试在 polyrepo 下各有 tradeoff,我目前更倾向其中一种组合。
ArchUnit 作为 Code Agent 时代的 Harness:微服务、Monorepo 与普通 Repo 的落地方式
在 code agent 普及的背景下,我在 Shop Platform 用 ArchUnit 作为可执行的 harness,它在微服务、monorepo 和普通 repo 里的落地方式各不相同。
Spring Boot 3.5 + Java 25 + Cloud Native 系列(七):架构 Quality Gates
架构约束很难只靠 Code Review 口头约定。Shop Platform 这边的护栏是 19 条 ArchUnit 规则、6 个 Maven Archetype、WireMock contract testing 和 API 路径版本化校验。