标签

架构设计

Meta 大规模数据摄入系统迁移实录:保障社交图谱快照可靠性的架构演进

来源:engineering.fb.com 32
社交图谱是 Meta 众多核心业务——从内容推荐到反滥用系统——的底层数据基座。要保持这些业务的实时性,下游必须时刻获取社交图谱的最新快照,而这背后依赖的是一个庞大的数据摄入系统。近期,Meta 对这套系统进行了全面重构,以解决大规模场景下的可靠性瓶颈。将一个服务于全公司级别的单点旧系统,无缝切换到全新架构,绝非简单的"停机更新",而是一场需要极度精细...

有状态服务的混合多租户架构:在 AWS 上实现强隔离而不必逐租户开账号

来源:aws.amazon.com 16
多租户架构的老问题:隔离做得太粗,一个租户的故障拖垮所有人;做得太细,每个租户单独开 AWS 账号,运维成本直线上升。AWS 最近分享了一种"混合"思路——在少数几个 AWS 账号内,用 ALB 规则、独立 ECS 集群和 PrivateLink 拼出接近账号级隔离的效果,同时把共享依赖集中管理。下面拆开看每个环节怎么做,并给出可直接改造的配置示例。 ...

AdonisJS v7:端到端类型安全、零配置 OpenTelemetry 与全新起步套件

来源:infoq.com 25
AdonisJS v7 一次把三件大事落地:从路由到 ORM 的端到端类型安全、零配置即可启用的 OpenTelemetry 可观测性、以及重新设计的起步套件。整个发布涉及 45+ 个包更新、3 个全新包,并把运行门槛抬到了 Node.js 24——直接用上原生 、 等 API,不再 shim。如果你一直在等一个"全栈 TypeScript 框架终于把...

仓颉语言:把代数数据类型和效应处理器做成一等公民的编译型新语言

来源:infoq.com 14
华为编程语言实验室负责人 Dan Ghika 教授最近公开介绍了仓颉(Cangjie)——一门定位对标 Java、Kotlin、Swift 的应用开发语言。它已经开源,目前在中国超过 80 所高校开设了课程。和主流对手相比,仓颉最显眼的差异在于两件事:代数数据类型(ADT)和效应处理器(Effect Handlers)不是后加的库,而是语言内核的一部分...

AWS Organizations:一个组织还是多个组织,这是个架构问题

来源:aws.amazon.com 41
当你在 AWS 上管理的账户从几个变成几十个、上百个,迟早要面对一个架构级决策:所有账户放在一个 AWS Organization 里,还是拆成多个?这个选择一旦落地,后续的安全策略、成本管理、合规边界都会被它锁死,改起来代价极高。本文把两种模式的利弊和适用场景掰开讲清楚,并给出可直接操作的实践示例。 把所有账户收进一个 Organization,最大...

Labyrinth 1.1:端到端加密备份如何在设备丢失后仍不丢消息

来源:engineering.fb.com 15
Messenger 的端到端加密(E2EE)已经覆盖了聊天本身,但备份侧的问题一直更棘手——加密消息存到云端后,密钥跟着设备走,设备一丢,备份就变成了一堆无法解密的密文。Meta 最新发布的 Labyrinth 1.1 引入了一套新的子协议,专门解决"设备丢失、换机、长期未登录"这三种让密钥断裂的场景,让加密备份真正可用。 普通加密备份的做法很简单:用...

Netflix 用时间段感知缓存让 Druid 84% 的查询命中缓存

来源:infoq.com 31
Netflix 的实时分析平台每天要处理海量滚动窗口查询——"过去 7 天的用户留存""过去 30 天的播放趋势"。这类查询天然有个痛点:每天只有最新一小段数据变了,但传统缓存策略要么整段命中要么全部重算。Netflix 在 Apache Druid 上实现了 interval-aware caching(时间段感知缓存),把查询按时间区间拆成可复用的...

本地优先推理:让80%的文档零API成本完成提取

来源:infoq.com 18
处理4700份工程图纸PDF,API费用砍掉75%,处理时间缩短55%——这不是靠更便宜的模型,而是靠一个更聪明的路由策略:先把能确定性提取的文档留在本地处理,只把边缘情况交给云端大模型。Obinna Iheanachor 把这个实践总结为"Local-First AI Inference"架构模式,核心思路简单但效果显著。 文档处理场景里,大量内容是...

用标准堆出"无聊"系统:从 Java EE 到 Quarkus 再到 AI 时代的生存策略

来源:infoq.com 18
Adam Bien 在企业级 Java 圈里是个异类——他主张零依赖,坚持只用标准,并且把这种做法带来的系统称为"boring"(无聊的)。但这里的"无聊"不是贬义,而是指系统稳定、可预测、不需要天天救火。更关键的是,他靠这套策略让二十年前写的代码一路跑进了云时代,甚至天然适配今天的 AI-Native 场景。 这听起来像是在鼓吹保守主义,但背后有非常...