Bài tóm tắt
Tóm tắt bằng lời riêng, luôn dẫn về bài gốc. 160 bài (đã lọc). Đọc miễn phí.
Nguồn dữ liệu danh sách bài viết của blog công ty
Danh sách bài trên trang công ty gồm 10.013 bài. Khoảng 73,6% (7.365 bài) do SWE Wiki thu thập thủ công từ kho lưu trữ blog chính chủ của các công ty, kèm ngày đăng. Phần còn lại lấy từ các danh sách công khai trên GitHub: binhnguyennus/awesome-scalability (667), abhivaikar/howtheytest (551), upgundecha/howtheysre (499), eugeneyan/applied-ml (376), Engineer1999/ML-System-Design-Case-Studies (239), upgundecha/howtheyaws (149) và một số danh sách nhỏ khác. Mọi link luôn dẫn về bài gốc trên blog của tác giả; SWE Wiki không sao chép nội dung bài. Hiện 8.979 bài thuộc 133 công ty có trang riêng được hiển thị cho thành viên. Cảm ơn những người duy trì các danh sách đó.
Building a Distributed Filesystem for Scalable Research
HRT nạp lượng dữ liệu lớn; researcher dùng nó để phát triển và kiểm ý tưởng, ý tưởng tốt thành chiến lược giao dịch. Phần lớn hạ tầng on-premises, trước đây trộn Lustre, NFS filer và vài hệ mã nguồn mở tự vận hành.
A Higgs-bugson in the Linux Kernel
Gord là hệ lưu và phân phối dữ liệu hoạt động giao dịch của cả công ty; nó hay chép file lớn qua NFSv3 có Kerberos (mặc định NFSv3 chỉ kiểm cổng < 1024 và tin client).
Getting from tested to battle-tested
Aria là message bus nội bộ độ trễ thấp, có thứ tự chặt và bảo đảm tin cậy, làm nền cho các team khác dựng hệ chịu lỗi (xem index của Aria ở ). Càng nhiều team dùng, mỗi tuần không sự cố càng thành nghĩa vụ, trong khi hệ…
Jepsen: NATS 2.12.1
NATS JetStream nhân bản stream bằng Raft, hứa giao "ít nhất một lần" (không mất message đã ack), log có thứ tự toàn phần, và tài liệu nói vừa "linearizable" vừa "tự lành và luôn sẵn sàng"; theo Jepsen, CAP cho thấy chỉ…
Jepsen: Amazon RDS for PostgreSQL 17.4
RDS for PostgreSQL Multi-AZ cluster: replication đồng bộ (ghi bền trên primary và ít nhất một secondary trước khi ack); endpoint ghi và endpoint đọc. Secondary không hỗ trợ Serializable, nên mức mạnh nhất trên mọi node…
Redesigning the Initial Bootstrap Sequence
Bootstrap là dựng compiler mới bằng compiler cũ của chính nó, qua các stage: compiler stage N được dựng từ compiler stage N−1 và các artifact của stage đó. Stage 0 là compiler ban đầu, với hầu hết người đóng góp là bản…
Moving the public Stack Overflow sites to the cloud: Part 1
Site public (Stack Overflow và mạng Stack Exchange) chạy trên máy chủ vật lý từ đầu: một máy → thêm máy SQL → data center (2010) → thêm CDN. Theo bài, các tối ưu hiệu năng đã cản trở cách làm hiện đại như service độc…
Adopting Arm at Scale: Bootstrapping Infrastructure
2/2023, Uber bắt đầu chuyển từ data center tự vận hành lên cloud (Oracle Cloud Infrastructure và Google Cloud), và đặt thêm mục tiêu đưa máy Arm (Ampere) vào đội máy toàn x86.
Adopting Arm at Scale: Transitioning to a Multi-Architecture Environment
Sau khi chạy được vài service trên Arm, cần mở rộng cho 5.000+ service. Phân bổ CPU theo monorepo: 60% Go, 20% Java, 10% Web, phần còn lại rải ở nhiều micro-repo.
Slashing CI Costs at Uber
SubmitQueue giữ mainline luôn xanh (mọi commit đều qua build, unit test, UI test) cho hơn 4.500 kỹ sư, sáu monorepo lớn, bảy ngôn ngữ, hàng chục nghìn thay đổi mỗi tháng.
Building Private Processing for AI tools on WhatsApp
LLM chạy trên server, nên nhà cung cấp thấy request. Điều này mâu thuẫn với lời hứa mã hoá đầu cuối khi user muốn AI tóm tắt chat chưa đọc hay gợi ý câu trả lời.
Enhancing Performance in Microservice Architecture with Kitex
Thời monolith, gọi hàm tốn nano giây; chuyển sang microservice, mỗi lời gọi thành RPC tốn mili giây, chênh khoảng 10^6. Theo bài, lý do tách là trần tính toán của một máy và hiệu suất phát triển không tăng tuyến tính…
Meet Chrono, our scalable, consistent, metadata caching solution
Metadata của Dropbox nằm trên Panda, KV store giao dịch MVCC tự xây; theo đà tăng, QPS đọc sẽ vượt sức máy storage. Cache là lời giải hiển nhiên nhưng các client nội bộ đã quen read-after-write; nới đảm bảo này thì…
How we rolled out our own permissions DSL at Figma
Quyền ở Figma phức tạp vì sản phẩm cộng tác: truy cập file qua role phân cấp (folder, team, org) hoặc qua link (ai, mức nào, bao lâu, mật khẩu, chính sách của org).
Macaroons Escalated Quickly
API token của Fly.io (OAuth2) quá nhiều quyền: mỗi token là vé vào toàn bộ tài khoản; cần thu hẹp và biểu diễn vai trò. Dự án mở rộng thành thay hẳn OAuth2 bằng Macaroon (thiết kế của Google, NDSS 2014, ít ai triển khai…
How we built a dynamic Kubernetes API Server for the API Aggregation Layer in Cozystack
Mở rộng Kubernetes thường bằng CRD + controller (kubebuilder, operator-sdk): khai báo resource, controller reconcile. Cách khác là API aggregation layer: viết một extension API server chạy riêng, đăng ký bằng…
How Stripe's document databases supported 99.999% uptime with zero-downtime data migrations
Stripe chọn MongoDB từ 2011 (Atlas chưa có) và xây DocDB, DB-as-a-service nội bộ trên MongoDB Community: hơn 5 triệu query/giây, hơn 10.000 dạng query, hơn 5.000 collection trên hơn 2.000 shard, hàng petabyte dữ liệu…
IPLS: Privacy-preserving storage for your WhatsApp contacts
Danh bạ trước đây chỉ nằm trong điện thoại: mất máy là mất danh bạ, chỉ thêm được liên hệ từ điện thoại. Multi-device và nhiều account trên một máy (công việc, cá nhân) cần danh bạ riêng cho WhatsApp, đồng bộ qua thiết…
Zkafka by Zillow: Go Library for Simplifying Kafka Consumption
Năm năm qua Kafka dùng rộng ở Zillow: cụm nội bộ hơn 1.500 topic (2024). Team Java có Flink và nhiều framework; team Go, Python, JS tự viết consumer.
Deno KV internals: building a database for the modern web
Deno Deploy chạy code ở nhiều region. Theo Deno, khách hàng nói: compute phân tán mà dữ liệu không phân tán thì mất lợi ích về latency.
Similarity Engine at eBay
eBay (12/2022) có khoảng 134 triệu người dùng và 1,7 tỉ listing đang hoạt động. Tìm kiếm theo từ khoá vấp từ đồng âm, query đuôi dài, ý định người dùng; team CoreAI dựng một engine ANN để tìm listing giống nhau theo…
Carving The Scheduler Out Of Our Orchestrator
Orchestrator về bản chất là supervisor có API: worker nhận việc, chạy, báo lại. Phần được coi là khó là scheduling (chọn worker). Mọi orchestrator phổ biến dùng scheduler tập trung, như bộ cấp phát bộ nhớ, với bức tranh…
Modeling Equities Returns: The Linear Case
Ở HRT nhiều team giao dịch tự duy trì model để hiểu rủi ro và hiệu quả của danh mục. Bài giới thiệu factor model: lợi suất của nhiều tài sản được giải thích bằng ít "nhân tố" chung.
Jepsen: MySQL 8.0.34
Định nghĩa isolation của ANSI SQL-92 dựa trên ba hiện tượng P1 (dirty read), P2 (non-repeatable read), P3 (phantom). Từ 1995 (Berenson và cộng sự) đã biết chúng mơ hồ và thiếu: không có P0 (dirty write), P3 không nói…