主题 · 15 篇
架构
单体、服务,以及在生产中真正重要的权衡。
The fun part of architecture is the whiteboard. The costly part is the five years afterwards.
Everything here is written from the production side of the wall: what holds up when traffic spikes, what breaks on a migration, and which “elegant” patterns turn into 3am pages. Rewrites are almost always more expensive than the people proposing them think; services are almost always cheaper to draw than to run. The posts under this hub are the evidence I keep going back to.
§ 文章
架构
- 2026年3月 多租户招聘平台,或我如何学会爱上身份认证 在 Talentera,我用一套代码库同时服务企业和政府。数据模型在多年的租户需求下存活下来,诀窍是把身份+访问控制当作一等设计维度,而不是在业务逻辑写完之后才螺栓上去的中间件。
- 2025年12月 再次反对第二系统效应 我见过的每一次死掉的重写都有同样的六个预警信号。这是我现在强制每一个「我们就重写它吧」的对话都要过一遍的清单--以及那次让我真正享受其中的唯一重写是怎么通过所有检验的实证。
- 2025年11月 维基百科跑在无聊的代码上,这才是真正的教训 在 Wikimedia 基金会的三年里,我看到了服务半个星球的系统是什么样的:朴素的 PHP、精心调优的缓存层,以及多年积累的运维文化--根本不是那种会议演讲奖励的架构航天员的东西。
- 2025年10月 我是如何学会不再担心、爱上单体架构的 模块化单体不是失败的退让--它是一个让选项保持开放、让部署故事保持无聊的刻意设计选择。这是我有意选它的理由,连同那次把服务拆出去又悄悄合并回来、以惨痛方式学到教训的迁移经历的实证。
- 2025年4月 医疗软件的本质是一大堆你看不见的文书工作 在 HAKEEM 和 AFAQ 建设多年 EHR 系统之后,我明白了:可见的 UI 只占让医院系统运转的15%,其余85%是审计、法规、互操作和那台凌晨三点的药房打印机期待的准确线格式。
- 2025年1月 Event-driven 信用评估:它实际上意味着什么 在德国受监管 fintech 后端交付 AI 辅助贷款工作流的真实样子:Kafka event-driven 信用评估链路、BaFin 合规审计要求、遗留 PHP 与 Java microservices 的考古现场,以及这个故事诚实的结尾--业务部门被关闭了,但系统运行良好。
- 2024年11月 创办 AFAQ:27 岁交付 EHR 需要什么 我在安曼创办了一家医疗软件公司,管理 12 名工程师,向沙特阿拉伯的一家心脏病医院交付了完整的 EHR 系统。这是它实际上的样子--从 GT.M connector 到沙特医院的 go-live。
- 2024年10月 癌症中心的 HL7 集成实际是什么样子 我通过 HL7 v2 将 King Hussein 癌症中心与约旦国家 EHR 集成。这里是 wire format 实际长什么样,以及为什么它比听起来难得多--患者身份、事件排序、实现分歧。
- 2024年9月 HAKEEM:22 岁时推出国家级 EHR 我花了三年时间构建 HAKEEM--约旦基于 VistA 构建的国家级 EHR。这是向四家医院真正推出这个系统,从内部看是什么样子的。三年、四家医院、一个国家级系统。
- 2024年7月 多租户在政府用它的时候真正意味着什么 构建 Elevatus:一个 AI 驱动的招聘平台,政府部委和零售连锁共用同一套 codebase,任何东西都不能出错。租户隔离、联合身份和 BPMN 的真实细节。
- 2024年6月 2018 年在生产环境用 TCL/TK 我是如何在一个跑着 AOL Server 的 TCL/TK 核心上交付 microservices 和 BPMN 工作流的,以及为什么那是正确的决定--一篇关于善待遗留系统的实录。
- 2024年5月 GWT + Spring Boot:2013 年回顾 TypeScript 还是 1.0 RC 的时候,我已经在做类型安全的全栈 Java 了。GWT 现在消失了。Spring Boot 无处不在。那个时代实际是什么感觉。
- 2024年1月 Java 6 到 17:每个版本到底改变了什么 一个在职工程师对 15 年 Java 版本演进的亲历回顾--从 J2ME 的 64KB 地狱、Java 8 的 Streams 革命、JPMS 模块化的传奇混乱,到 Java 17 终于像一门现代语言,以及 Kotlin 崛起之后我的真实判断。
- 2020年7月 疫情期间搭建处方软件 2020 年疫情爆发之际,我在汉堡加入 meinrezept.online 搭建电子处方后端:多格式处方解析、遗留药店集成、RabbitMQ 消息路由,以及在真实患者流量涌入时在线改造处理链路是什么感受--一篇诚实的工程实录。
- 2020年5月 八周内接入 Mobile.de、Amazon 和 eBay 近距离看电商 marketplace 集成考古是什么感觉:两个月、三种截然不同的库存模型、Mobile.de 与 Amazon 与 eBay,以及一个统治一切的统一领域 schema--在疫情把一切锁死之前完成的一段差事。