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 · Airbnb · 2022 Dễ

Automated Incident Management Through Slack

Airbnb chạy hơn một nghìn microservice do hàng trăm team nhỏ quản lý (2022). Khi có incident, khó nhất là biết service nào hỏng và phải page ai.

Bài tóm tắt · ByteDance · 2022 Trung bình

An Article to Learn About ByteDance Microservices Middleware CloudWeGo

2014: ByteDance đưa Go vào để giải bài toán đồng thời cao của push service giữ kết nối lâu.

Bài tóm tắt · ByteDance · 2022 Dễ

Hertz, an Ultra Large Scale Enterprise-Level Microservice HTTP Framework, is Now Officially Open Source

Framework HTTP nội bộ trước đây của ByteDance là một lớp bọc Gin: dễ dùng, hệ sinh thái đầy đủ. Khi nghiệp vụ lớn lên, nhu cầu hiệu năng và mở rộng tăng nhanh. Gin xây trên net/http của Go nên, theo team, khó mở rộng…

Bài tóm tắt · ByteDance · 2022 Trung bình

Kitex: Unifying Open Source Practice for a High-Performance RPC Framework

Lịch sử: ByteDance bắt đầu dùng Go năm 2014; năm 2015 dựng service nội bộ với Thrift cho RPC; 2016 ra framework RPC Go đầu tiên Kite, làm nhanh cho giai đoạn tăng trưởng, ít tính trước. Nhu cầu phức tạp dần và số…

Bài tóm tắt · Discord · 2022 Nâng cao

How Discord Supercharges Network Disks for Extreme Low Latency

Discord chạy các cluster ScyllaDB trên Google Cloud, khoảng 4 tỉ tin nhắn/ngày (2022). Khi tải cao, queue đọc đĩa của DB tăng mãi và query bắt đầu timeout.

Bài tóm tắt · DoorDash · 2022 Trung bình

Moving e2e testing into production with multi-tenancy for increased speed and reliability

Thời monolith, nhu cầu test end-to-end được đáp ứng bằng sandbox. Sang microservices, chạy hết các service trên một máy không nổi, nên dựng môi trường staging riêng (bản sao production không có PII).

Bài tóm tắt · DoorDash · 2022 Trung bình

Using Fault Injection Testing to Improve DoorDash Reliability

DoorDash viết backend theo microservice; một request từ app có thể đi qua hàng chục tới hàng trăm service, nên phải xử lý lỗi một phần (một dependency chậm, lỗi, hay vừa deploy kèm bug).

Bài tóm tắt · DoorDash · 2022 Nâng cao

Building Scalable Real Time Event Processing with Kafka and Flink

Event từ service và thiết bị phải tới warehouse OLAP (Snowflake), tới nền tảng ML (feature realtime như thời gian chờ trung bình của nhà hàng), tới backend metric (Chronosphere) để giám sát bản app mới.

Bài tóm tắt · DoorDash · 2022 Trung bình

3 Changes to Expand DoorDash's Product Search Beyond Delivery

Search của DoorDash được xây cho đồ ăn: nhà hàng và menu lồng nhau, gắn chặt với hệ thống giao đồ ăn. Khi mở sang tạp hoá, tiện lợi, rượu, đồ thú cưng, dữ liệu thành từng SKU rời với số lượng lớn hơn hẳn, và mỗi ngành…

Bài tóm tắt · Doximity · 2022 Trung bình

Taking our Ruby & Kafka stack to the next level

Mọi app Rails ở Doximity nói chuyện với Kafka qua gem nội bộ dox-messaging, vốn bọc ruby-kafka: API thân thiện hơn, ép best practice, mặc định hợp với use case của họ.

Bài tóm tắt · Doximity · 2022 Trung bình

Integrating Neo4j Into Your Stack

Doximity là network nghề nghiệp cho bác sĩ; câu hỏi kiểu "hai user nối với nhau thế nào", "bạn cấp 1 hay 2", "đồng nghiệp chung" khó hoặc chậm trên SQL. Họ dùng Neo4j cho đồ thị quan hệ, cạnh ứng dụng Rails.

Bài tóm tắt · Dream11 · 2022 Trung bình

Deployment At Scale: Dream11's In-House Blue-Green Deployment Platform "OneClick"

Traffic của Dream11 rất biến động (theo trận đấu) và deploy cả trong giờ cao điểm. Cần deploy thường xuyên mà ít lỗi và rollback được.

Bài tóm tắt · Dropbox · 2022 Nâng cao

Increasing Magic Pocket write throughput by removing our SSD cache disks

2017: Magic Pocket dùng ổ SMR (mật độ cao, nhưng nổi tiếng chậm khi ghi ngẫu nhiên). Mọi lượt ghi trực tiếp đi vào SSD làm write-back cache, ack ngay, rồi một tiến trình nền dồn xuống SMR thành ghi tuần tự.

Bài tóm tắt · Dropbox · 2022 Dễ

A look inside our sixth generation of server hardware

Gần một thập kỷ Dropbox tự vận hành hạ tầng phần cứng, có một trong số ít hệ lưu trữ cỡ exabyte. Từ khi làm Magic Pocket (2013), team phần cứng tự thiết kế để kiểm soát chi phí và hiệu năng.

Bài tóm tắt · Dropbox · 2022 Dễ

How we handled a recent phishing incident that targeted Dropbox

Đầu 10/2022, nhiều nhân viên nhận email giả làm CircleCI (Dropbox dùng CircleCI cho một số deploy nội bộ, và đăng nhập CircleCI được bằng tài khoản GitHub). Một phần email bị cách ly tự động, phần còn lại vào hộp thư.

Bài tóm tắt · eBay · 2022 Dễ

A Lightweight Distributed Architecture to Handle Thousands of Library Releases at eBay

eBay còn hơn 3.000 thư viện cũ build bằng hệ build dựa trên Ant, không còn được hỗ trợ. Mã nguồn được chuyển sang Maven chuẩn; sau đó cần một hệ release định kỳ cho tất cả, phải nhẹ, mở rộng được, ổn định, nhanh.

Bài tóm tắt · Fly.io · 2022 Trung bình

How We Built Fly Postgres

Fly.io khởi đầu (2019) là nền tảng "edge app" không có lưu trữ bền: dữ liệu thật nằm ở us-east-1, phần chạy ở edge là cache. Khách xin database từ ngày đầu; họ từ chối hơn 300 ngày, có thử Redis dùng chung ("bị nguyền")…

Bài tóm tắt · Gojek · 2022 Trung bình

Scaling Our Geo-Search Service For 10x Load

Available Driver Service (ADS) trả lời: "quanh vị trí này, tài xế nào thoả điều kiện?" (ví dụ xe có nước rửa tay). ADS sập thì không phân được tài xế cho đơn.

Bài tóm tắt · Goldman Sachs · 2022 Trung bình

Chaos Testing an Application on AWS

Ứng dụng có đủ unit, integration, performance test nhưng incident production vẫn đến từ lỗi vận hành: DB hỏng, DNS hỏng, node chết, traffic bất thường, với MTTD/MTTR cao vượt SLO. Incident cho thấy lỗ hổng ở test, ở…

Bài tóm tắt · Grab · 2022 Dễ

How we reduced our CI YAML files from 1800 lines to 50 lines

Cauldron là đội nền tảng ML của Grab. Sản phẩm MerLin Pipelines cho mỗi team một repo chứa các pipeline ML; mỗi pipeline một thư mục con, mỗi thư mục chia thành stage (ví dụ phục vụ model qua Catwalk). Họ dựa vào rules…

Bài tóm tắt · Grab · 2022 Trung bình

How we store and process millions of orders daily

Grab Order Platform xử lý hàng triệu đơn GrabFood/GrabMart mỗi ngày (2022).

Bài tóm tắt · Grab · 2022 Trung bình

Search architecture revamp

Trước 2021, search của Grab (Food, Mart) chỉ khớp văn bản qua inverted index, xếp hạng bằng trọng số viết cứng (khớp tên merchant luôn ưu tiên, kể cả khi người dùng rõ ràng tìm một món).

Bài tóm tắt · Grammarly · 2022 Trung bình

Under the Hood of the Grammarly Editor, Part Two: How Suggestions Work

Editor dùng giao thức operational transformation (OT) với định dạng Delta (insert, delete, retain) cho cả văn bản, thay đổi của người dùng và gợi ý từ backend. Backend quét văn bản rồi gửi gợi ý về client.

Bài tóm tắt · Hudson River Trading · 2022 Trung bình

How HRT Thinks About Data

Mô hình đơn giản nhất của một thuật toán giao dịch: hộp đen nhận dữ liệu, trả quyết định giao dịch. Bên trong hộp mỗi chiến lược một khác, nhưng chung một điều: dữ liệu vào hỏng thì chiến lược hỏng.