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 đó.
How the controller-runtime Cache Actually Works, and Why Your Controller Does Not Crash the API Server
Hiểu lầm phổ biến: r.Get()/r.List() trong reconciler gọi thẳng API server và luôn thấy trạng thái mới nhất. Thực tế ngược lại.
Shadow Engine Recovery in NVIDIA Dynamo
Engine LLM ở production hay gặp lỗi phần mềm phục hồi được (process crash, lỗi CUDA phục hồi được, collective lỗi tạm thời) trong khi phần cứng và node vẫn khoẻ. Đường phục hồi chuẩn là cold restart: nạp weight vào HBM,…
NVIDIA Dynamo Snapshot: Fast Startup for Inference Workloads on Kubernetes
Inference cần scale theo tải, nhưng cold start một worker trên Kubernetes mất vài phút; trong lúc đó GPU đã cấp nhưng không sinh token, và hệ không kịp hấp thụ đỉnh tải.
Pushing Postgres beyond storage: scaling performance at Optiver
Một số database của Optiver chứa bảng nhỏ đổi rất thường xuyên, như cấu hình và dữ liệu giá, nằm thẳng trên đường đi của các hệ tự động; có thể có hàng nghìn process cần đồng bộ với chúng.
The feedback loops behind Kubernetes
Tác giả mở bằng việc chạy Postgres bằng tay: chọn node, gắn EBS, format, mount; dựng 1 primary + 2 replica trên ba máy; sửa /etc/hosts khi IP đổi; đổi tham số qua ssh. Mỗi bước có thể hỏng giữa chừng. Để khỏi bị gọi…
Postgres backups under the hood
Postgres có ba cách backup: logical (pgdump), file system, và continuous archiving (file system + WAL). Bài so sánh ba cách khi database lên hàng chục TB.
Behind the scenes: How Database Traffic Control works
Bài toán: database quá tải vì query đắt bất ngờ, kể cả nhiều query vừa phải cộng dồn lại.
Modernizing Prometheus: Native Storage for Composite Types
TSDB của Prometheus từ đầu chỉ lưu mẫu nguyên thuỷ: label dạng chuỗi, giá trị float64, timestamp int64, không biết loại metric. Loại metric là quy ước bên trên: counter có hậu tố total, info có info.
Uncached I/O in Prometheus
Người dùng Kubernetes thường nhầm giữa containermemoryusagebytes, containermemoryworkingsetbytes, containermemoryrss; chọn sai thì giới hạn bộ nhớ nói dối và container bị OOMKill (có một issue Kubernetes mở 9 năm về…
Filtered Vector Search: What ACORN Fixes, and What Fixes ACORN
Filter metadata biến đồ thị HNSW thành các đảo rời: với m=16 mặc định, tập 1 triệu điểm có trung bình khoảng 21 cạnh mỗi node ở tầng 0; filter bỏ 96% điểm thì trung bình còn chưa tới 1 cạnh, việc duyệt bị kẹt trước khi…
Atomic slot migration with Redis 8.4
Redis Cluster chia key vào 16.384 hash slot (CRC16(key) mod 16384, hoặc phần trong {}), mỗi node giữ một tập slot. Phải dời slot khi scale out/in và khi một key, slot hay node quá tải (bộ nhớ, CPU, băng thông).
A Self-Baked Async FFI Framework for Rust <-> C# Interop
ScyllaDB chỉ có một database nhưng phải bảo trì một đàn driver, mỗi ngôn ngữ một cái. Ý tưởng "One Driver To Rule Them All" (từ hackathon nội bộ năm 2021): chỉ phát triển driver Rust, các driver khác là lớp binding mỏng…
When Bigger Instances Don't Scale
Trước khi hỗ trợ một loại instance mới, ScyllaDB chạy IOTune (công cụ benchmark đĩa đi kèm Seastar) để đo 4 con số: IOPS đọc/ghi và băng thông đọc/ghi. Bốn số này vào io-properties.yaml; IO Scheduler dựng một model của…
Building a Faster C# Driver for ScyllaDB…on our Self-Baked C#-Rust FFI Framework
Hiện đại hoá một codebase driver C khoảng mười năm tuổi (fork của DataStax) bằng cách đặt nó lên lõi Rust driver, theo chiến lược một lõi cho mọi ngôn ngữ (xem phần 1).
The Deceptively Simple Act of Writing to Disk
Sau khi sửa IO Scheduler ở phần 1, IOTune đo ra số scale đẹp theo cỡ máy. Nhưng với workload gần thật, throughput ghi lại giảm khoảng 10% trên các instance có SSD mới, nhanh. Họ đã chờ cải thiện, nên đây là tín hiệu…
Common Performance Pitfalls of Modern Storage I/O
Hai phần trước của series tìm ra hai nguyên nhân làm instance lớn "không scale": hàng đợi công bằng trong IO Scheduler của Seastar tự bóp băng thông còn một phần nhỏ so với thông số, và block size/căn chỉnh của XFS gây…
Snowflake Optima Planning: cross-query performance
Optimizer của Snowflake dựa trên chi phí: ước lượng số dòng của từng operator rồi chọn plan rẻ nhất. Ước lượng sai thì chọn sai thứ tự join hay sai bên build, có khi sinh hàng tỉ dòng trung gian không cần. Tương quan…
Selective Test Execution at Stripe: Fast CI for a 50M-line Ruby monorepo
Monorepo Ruby của Stripe khoảng 50 triệu dòng, khoảng 100.000 file test, 1,2 triệu test unit (2026). Chạy tuần tự hết một lần mất bốn tháng; build chạy trên một dàn worker song song khổng lồ, khoảng 50.000 build mỗi…
Scaling up your microservice testing with Apache Spark, Part 2
Câu hỏi của phần này: dựng harness replay thế nào mà không tạo ra bản thứ hai của service (bản đó sẽ lệch production và cho sự tự tin giả).
Protocol-Aware Deterministic Simulation Testing
TigerBeetle dùng Viewstamped Replication (VSR): liveness là còn phản hồi khi đa số replica sống; safety là các replica thống nhất thứ tự (dẫn tới strict serializability).
A Trillion Transactions
Scale là khả năng sống sót, không chỉ hiệu năng: khó nhất là sống được khi mọi thứ hỏng.
Incident report: Runs list and logs degraded
Trigger.dev tách hai đường: thực thi run (Postgres là nguồn sự thật + Redis cho queue) và giao diện quan sát (runs list, logs, traces) chạy trên ClickHouse. ClickHouse chỉ trả danh sách run ID khớp bộ lọc; chi tiết run…
How Uber Protects Against Retry Storms
Chỉnh cấu hình retry và retry budget giảm được ở mức từng service, nhưng chỉnh tay và không thấy được khuếch đại xuyên service qua chuỗi phụ thuộc sâu và fan-out. Gốc vấn đề: retry không biết ngữ cảnh; kiểm được bao…
Scaling Exact COUNT(DISTINCT) for High-Cardinality Non-Rollup Metrics
Một lớp metric (user hoạt động theo tháng, giữ chân theo quý) phải tính chính xác và là non-rollup: không ghép được từ số theo ngày (một user hoạt động thứ Hai và thứ Tư chỉ tính một lần trong tuần). Theo quý, phải giữ…