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. 979 bài. Đọ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 9.115 bài thuộc 135 công ty có trang wiki riêng và 897 bài thuộc 261 trang danh sách bài viết (công ty chưa có trang wiki); thành viên xem được toàn bộ danh sách. Cảm ơn những người duy trì các danh sách đó.

Mọi giai đoạn 1. Khởi đầu2. Tăng trưởng3. Quy mô lớn4. Điều chỉnh
Mọi độ khó DễCơ bảnTrung bìnhKhóNâng cao
Bài tóm tắt · Jane Street · 2020 Trung bình

Finding memory leaks with Memtrace

Trước đó OCaml có Spacetime: ghi mọi lần cấp phát. Tìm leak tốt nhưng overhead cao, cần một cấu hình compiler riêng, profile rất lớn và cần rất nhiều RAM để xử lý.

Bài tóm tắt · Jepsen · 2020 Khó

Jepsen: PostgreSQL 12.3

Trước 9.1, chế độ "serializable" của PostgreSQL thực ra là snapshot isolation (SI); từ 9.1 (2011) có serializable snapshot isolation (SSI): SI cộng kiểm lúc chạy các "cấu trúc nguy hiểm" (hai cạnh phụ thuộc đọc-ghi kề…

Bài tóm tắt · LinkedIn · 2020 Trung bình

Production testing with dark canaries

Code ở LinkedIn có thể lên production trong vòng một giờ, nhiều lần mỗi ngày; code, config hay model AI xấu vẫn gây incident dù có unit và integration test. Một số thứ (bộ nhớ, CPU/GPU, concurrency, latency) chỉ đo đúng…

Bài tóm tắt · LinkedIn · 2020 Khó

Making the LinkedIn experimentation engine 20x faster

Mọi release ở LinkedIn đều qua thí nghiệm. Năm 2020 nền tảng: tới 800.000 QPS, khoảng 35.000 thí nghiệm chạy cùng lúc, tới 23 nghìn tỷ lượt evaluate/ngày, latency trung bình 700 ns (p99 3 µs), dùng trong khoảng 500…

Bài tóm tắt · LinkedIn · 2020 Khó

Fixing Linux filesystem performance regressions

Fleet tăng từ hàng trăm lên hàng trăm nghìn server. Các đợt reimage trước đó làm theo kiểu dồn sức toàn đội mỗi khi có lý do bên ngoài (lỗi CPU công bố). Rút kinh nghiệm, LinkedIn dựng quy trình reimage tự động hơn và…

Bài tóm tắt · LinkedIn · 2020 Nâng cao

LIquid: The soul of a new graph database, Part 1

Theo LinkedIn, giá trị của đồ thị nằm chủ yếu ở network cấp 2: bạn của bạn, thường ít nhất 50.000 entity (người, trường, công ty). Network cấp 1 (vài trăm kết nối) để trong bảng hay KV là đủ; network cấp 3 quá lớn và…

Bài tóm tắt · LinkedIn · 2020 Nâng cao

LIquid: The soul of a new graph database, Part 2

Đồ thị biểu diễn bằng một bảng cạnh (adjacency list) là đúng mô hình quan hệ: không NULL, dạng chuẩn 5, dễ chuyển dữ liệu. Nhưng DB quan hệ truyền thống chạy rất tệ với schema này, và SQL khó dùng để dựng ứng dụng.

Bài tóm tắt · LinkedIn · 2020 Trung bình

How LinkedIn handles merging code in high-velocity repositories

Gần 10 năm trước (tức khoảng 2010) LinkedIn bỏ một codebase monolith sang microservice, mỗi team một repo. Năm 2020: hàng nghìn dev, hơn 10.000 repo đang hoạt động, có repo hơn 300 commit/ngày. Trunk-based development.

Bài tóm tắt · LinkedIn · 2020 Trung bình

DataHub: Popular metadata architectures explained

Tác giả từng xây Espresso, Databus, Kafka; khi sang team hạ tầng analytics (Hadoop) thấy người ta hỏi nhau "dataset nào đúng" suốt: lưu trữ và tính toán đã scale nhưng tìm dữ liệu thì chưa.

Bài tóm tắt · LinkedIn · 2020 Trung bình

Our Evolution Towards T-REX: The Prehistory of Experimentation Infrastructure at LinkedIn

2020: T-REX (Targeting, Ramping, and Experimentation) phục vụ tới 41.000 A/B test cùng lúc trên hơn 700 triệu thành viên; gồm targeting, cấu hình động, hạ tầng thí nghiệm, pipeline báo cáo, thông báo, UI.

Bài tóm tắt · Medium · 2020 Trung bình

Scaling Email Infrastructure for Medium Digest

Digest là email cá nhân hoá hằng ngày, phải tới 8–9 giờ sáng theo giờ địa phương. Gửi hàng triệu email/ngày; là một trong những tải nặng nhất.

Bài tóm tắt · Meta · 2020 Trung bình

Rebuilding our tech stack for the new Facebook.com

Facebook.com ra đời năm 2004 là một website PHP render ở server. Qua nhiều năm, từng lớp công nghệ được thêm vào cho tính năng tương tác; mỗi lớp làm site chậm thêm một chút và khó bảo trì hơn, đến mức tính năng như…

Bài tóm tắt · Miro · 2020 Cơ bản

Managing hundreds of servers for load testing: autoscaling, custom monitoring, DevOps culture

Mỗi lần test dùng khoảng 100 server sinh tải và 150 server chạy service (2020); tất cả phải được tạo, cấu hình, khởi động, xoá.

Bài tóm tắt · Miro · 2020 Trung bình

Reliable load testing with regards to unexpected nuances

Khoảng đầu 2019, ở mốc 12.000 user online đồng thời, Miro bắt đầu dựng hạ tầng load test; ba tháng sau bản test đầu tiên ra đời, và đúng lúc đó production chạm giới hạn, sập hai giờ. Incident đẩy họ từ test thỉnh thoảng…

Bài tóm tắt · Miro · 2020 Dễ

Prometheus High Availability and Fault Tolerance Strategy, Long Term Storage with VictoriaMetrics

Theo Miro, Prometheus giỏi scrape và giữ metric ngắn hạn (phần lớn điều tra chỉ cần khoảng 10 ngày gần nhất), nhưng giữ lâu thì đắt vì cần đĩa nhanh, và HA không có sẵn kiểu cluster. Federation hợp để gom một phần…

Bài tóm tắt · Monzo · 2020 Trung bình

Autoscaling Monzo: How we optimise our platform to be just the right size

Gần như mọi hệ thống của Monzo chạy microservice trên Kubernetes (trừ vài hạ tầng có trạng thái như Cassandra, etcd). Mỗi service build từ cùng một framework, deploy cùng một kiểu: một container service + một sidecar…

Bài tóm tắt · Netflix · 2020 Dễ

Keeping Customers Streaming — The Centralized Site Reliability Practice at Netflix

Netflix theo mô hình service ownership ("full cycle developer"): team vận hành cái mình xây; phần lớn lỗi được team sở hữu bắt trước khi khách thấy.

Bài tóm tắt · Netflix · 2020 Trung bình

How Netflix Scales its API with GraphQL Federation (Part 1)

Mảng Studio (sản xuất nội dung) có hàng trăm ứng dụng; dữ liệu và quan hệ nằm rải trong vô số microservice.

Bài tóm tắt · Netflix · 2020 Dễ

Ready for changes with Hexagonal Architecture

Studio Engineering của Netflix có nhiều app phục vụ sản xuất phim (mua kịch bản, đàm phán, lịch quay...). Một app đời đầu là monolith: phát triển nhanh khi chưa ai hiểu miền nghiệp vụ; có lúc hơn 30 developer và hơn 300…

Bài tóm tắt · Pinterest · 2020 Trung bình

Scaling Cache Infrastructure at Pinterest

Tầng cache phân tán nằm gần đáy stack, đứng trước nhiều service và DB, hấp thụ phần lớn traffic backend: hàng nghìn máy EC2, hàng trăm TB, hơn 150 triệu request/giây lúc cao điểm (2020).

Bài tóm tắt · Postman · 2020 Trung bình

How Postman Engineering handles a million concurrent connections

Service Sync là một trong những service đầu tiên của Postman: sync mọi hoạt động trên client với server qua WebSocket theo kiểu pub/sub. Ban đầu chỉ lo giao dịch DB (ví dụ cập nhật collection), dần ôm thêm việc thông…

Bài tóm tắt · Quora · 2020 Nâng cao

MySQL sharding at Quora

MySQL giữ câu hỏi, câu trả lời, upvote, comment: hàng chục TB (chưa kể replica), hàng trăm nghìn QPS; thêm Memcache và Redis cho đọc. Dữ liệu và QPS ghi tăng nên phải shard.

Bài tóm tắt · Reddit · 2020 Dễ

The Great K8S Migration

Reddit 15 tuổi (2020): nhiều kỹ sư hơn thì nhiều deploy hơn và codebase phức tạp hơn. Họ gom hạ tầng về một chuẩn trên Kubernetes để service owner chỉ lo service của mình.

Bài tóm tắt · Riot Games · 2020 Trung bình

Scalability and Load Testing for VALORANT

Nền tảng của VALORANT (ngoài game server) là hơn 30 microservice Go: party, matchmaking, chọn Agent, cấp trận về datacenter theo ping, lưu kết quả, store, loadout. Microservice từ đầu là bài học từ League of Legends,…