边缘节点上跑代码有 VM 级隔离、同进程 V8 isolate、microVM 三种做法,出现时间重叠,至今并存;存储上,Cloudflare 按读写模式分出最终一致的 KV、单实例的 Durable Objects 和带区域只读副本的 D1。
Posts for: #system-design
SSE 多实例部署的跨节点路由与断线补发
SSE 连接只存在于接受它的那台机器上,浏览器断线后会带着 Last-Event-ID 自动重连;部署成多实例后,推送要跨节点找到连接,重连落到另一台机器时要从共享历史补发,中间代理的缓冲和空闲超时也要处理。
商品主数据系统设计:多站点背景下的 PIM 与 MDM 架构
多站点电商的商品数据要同时处理站点间的本地化与合规差异、品类属性差异、跨洋读延迟和大促读压力。这套 PIM / MDM 架构用两层商品模型、类目属性规则、中心打版加事件分发到大区只读副本、版本号幂等写入与对账、多级缓存来逐个解决。
H5 应用容器与奖池的架构
H5 应用容器和奖池活动条由 Cloudflare Workers 上的容器页、overlay 和 EKS 里四个 Spring Boot 服务组成,结构由同源入口、一张凭证两处验签、钱只走交易平台、推送层不存状态和 overlay 固定入口发版五条决策定下。
同一页面挂多个 UI 叠加层时,入口名字该定在哪里?
宿主用 script 引入的叠加层,挂载点、容器 id 和清单接口的字段默认都只有一个。入口换成 custom element 后三处都解开,代价是参数降成字符串、tag name 前缀、版本声明和 shadow root 里两条方向相反的 at-rule。
Shopify 把库存预留换回 MySQL,以及 flash sale 防超卖的另外五种做法
Shopify 把 quantity 切成行,让 SKIP LOCKED 各挑各的。顺着这篇往外查,同一个问题另有五种解法:AliSQL 引擎层排队、库存分桶、等候室按速率放行、DynamoDB 撞了重试、Durable Objects 让并发不发生。
Spring Boot 3.5 + Java 25 + Cloud Native 系列(一):Shop Platform 总览
一个以 Java 25 + Spring Boot 3.5 + Spring Cloud 2025 为技术基线的电商平台 POC,涵盖 API 网关、BFF、领域服务、活动引擎与全链路可观测,可作为技术选型讨论的一个可运行参考。
微服务(一):驱动因素、挑战与常用模式
为什么从单体迁到微服务、分布式系统会附带哪些固有代价、服务发现和熔断器各自解决什么,这三个问题串起来就是微服务的入门地图。
LSM-Tree 的读写路径:Append-Only Log 的局限、MemTable 与 SSTable、Compaction 的写放大
存储引擎从一个内存 Map 加一份日志,一路演化成 LSM-Tree,每加一个部件都是在补前一个部件的短板,而代价落在写放大、读放大和空间占用三者之间的取舍上。