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 · Stack Overflow · 2016 Trung bình

Stack Overflow: How We Do Deployment - 2016 Edition

khoảng 25 lần deploy/ngày lên môi trường dev (CI build), chỉ tính repo Q&A; 5–10 lần/ngày lên production;

Bài tóm tắt · Stack Overflow · 2016 Trung bình

Stack Overflow: The Hardware - 2016 Edition

Các bài khác trong series hay nói kiểu "SQL Server chỉ dùng 5–10% CPU". Bài này trả lời câu hỏi "5–10% của cái gì" bằng danh sách phần cứng ở data center New York (thực ra nằm ở New Jersey) và Denver (DR), năm 2016.

Bài tóm tắt · Two Sigma · 2016 Trung bình

Cook: A Fair Preemptive Resource Scheduler for Compute Clusters

Phần lớn tài nguyên compute của Two Sigma được cấp động cho ứng dụng theo nhu cầu, vì chia sẻ hiệu quả hơn cấp tĩnh. Có hai loại job, giống tiến trình foreground/background của OS: interactive (task nhỏ, người dùng chờ…

Bài tóm tắt · Uber · 2016 Dễ

Lessons Learned From Scaling Uber To 2000 Engineers, 1000 Services, And 8000 Git Repositories

Uber có mặt ở 400 thành phố, 70 quốc gia, 6.000+ nhân viên, 2.000 kỹ sư (1,5 năm trước chỉ có 200), khoảng 1.000 microservice, hơn 8.000 repo git (tháng trước đó là 7.000). Một nửa đội kỹ sư mới vào chưa tới 6 tháng.

Bài tóm tắt · Uber · 2016 Nâng cao

Why Uber Engineering Switched from Postgres to MySQL

Kiến trúc ban đầu: monolith Python + Postgres. 2016: microservices, và phần lớn chỗ trước đây dùng Postgres giờ dùng Schemaless, một lớp sharding tự xây trên MySQL. Một số trường hợp đặc biệt dùng Cassandra.

Bài tóm tắt · WhatsApp · 2016 Trung bình

WhatsApp's Signal Protocol integration is now complete

Một năm rưỡi sau thông báo hợp tác, Signal Protocol đã được đưa dần vào mọi loại liên lạc (chat, group, tệp đính kèm, voice note, cuộc gọi thoại) trên mọi client: Android, iPhone, Windows Phone, Nokia S40, S60,…

Bài tóm tắt · Zalando · 2016 Cơ bản

Integrated Commerce and our Merchant Center rebuild

Zalando muốn bán được mọi món hàng thời trang "có ở đâu đó": nối kho e-commerce của thương hiệu/nhà bán lẻ khác và kho của cửa hàng truyền thống (số hoá tồn kho, hiển thị online, tính tới nhận hàng tại cửa hàng).

Bài tóm tắt · Zillow · 2016 Trung bình

Migrating HotPads to an Isomorphic Stack with React

HotPads (thương hiệu thuê nhà của Zillow Group): sau 10 năm, front-end là JSP + jQuery + RequireJS + CSS toàn cục, dính chặt vào back-end monolith. Dev front-end mới phải học cả codebase lớn; mỗi nội dung động qua AJAX…

Bài tóm tắt · Zillow · 2016 Cơ bản

Zillow Transitions to Streaming Data Architecture

Team data science & engineering của Zillow nhận dữ liệu bất động sản liên tục từ hồ sơ công, feed của user/agent, Multiple Listing Services. Trước đây dữ liệu nằm trong SQL Server và xử lý bằng kỹ thuật cache tự làm.

Bài tóm tắt · Zomato · 2016 Dễ

How we moved our Food Feed from Redis to Cassandra

Food Feed là một phần của social graph: review, ảnh của bạn bè, ưu đãi từ nhà hàng đã lưu. Ban đầu chạy trên Redis, theo Zomato là lựa chọn tốt nhất lúc đó.

Bài tóm tắt · Airbnb · 2015 Trung bình

How We Partitioned Airbnb's Main Database in Two Weeks

Trước mùa du lịch hè 2015, DB MySQL chính (trên RDS, còn từ thời Airbnb là một app Rails) phải giảm tải. Airbnb chọn tách dọc theo chức năng thay vì shard ngang (theo bài, đồng ý với Asana và Percona rằng shard ngang là…

Bài tóm tắt · Algolia · 2015 Cơ bản

DNS fallback for better resilience

Algolia (search-as-a-service) đặt mục tiêu kiến trúc 99,9999%: mọi thành phần phải hỏng được mà không ảnh hưởng dịch vụ.

Bài tóm tắt · Allegro · 2015 Dễ

Evolution of our platform architecture

Allegro (sàn thương mại điện tử Ba Lan) ra đời năm 1999: 3 developer, vài trăm user, dữ liệu lưu trong file, chưa có SQL. Đến 2015 công ty có hàng chục team, hàng trăm lập trình viên. Bài kể bốn giai đoạn, mỗi giai đoạn…

Bài tóm tắt · Booking.com · 2015 Khó

Better Parallel Replication for MySQL

MySQL 5.5 và MariaDB 5.5 replicate đơn luồng: trên slave, transaction trước phải commit xong thì transaction sau mới chạy, trong khi master chạy nhiều transaction cùng lúc. Slave vì vậy ghi chậm hơn master, và master…

Bài tóm tắt · Booking.com · 2015 Khó

Evaluating MySQL Parallel Replication Part 3: Benchmarks in Production

Replication của MySQL lúc đó đơn luồng trên slave: muốn không có replication lag, master chỉ được ghi bằng khoảng một core, dù máy có 12 core trở lên. Đây là trần ghi của mỗi cluster.

Bài tóm tắt · Booking.com · 2015 Khó

Evaluating MySQL Parallel Replication Part 2: Slave Group Commit

MariaDB 10.0 và MySQL 5.7 có tham số trì hoãn commit trên master để nhiều transaction vào chung một nhóm (binlogcommitwaitcount/binlogcommitwaitusec ở MariaDB, binloggroupcommitsyncdelay/...nodelaycount ở MySQL): nhóm…

Bài tóm tắt · GoCardless · 2015 Trung bình

Zero-downtime Postgres migrations - the hard parts

GoCardless là công ty thanh toán: API ngừng nhận request thì merchant mất tiền. DB không được ngừng trả lời quá 1–2 giây.

Bài tóm tắt · Instagram · 2015 Nâng cao

Instagration Pt. 2: Scaling our infrastructure to multiple data centers

2013, khoảng một năm sau khi về Facebook: 200 triệu user/tháng, 20 tỷ ảnh. Họ bắt đầu "Instagration", chuyển từ AWS sang hạ tầng Facebook.

Bài tóm tắt · Instagram · 2015 Trung bình

Search Architecture

Đầu 2015, Instagram chuyển toàn bộ hạ tầng search từ Elasticsearch sang Unicorn, hạ tầng search có nhận biết social graph của Facebook, đã chạy với index hàng nghìn tỉ document. Cùng giai đoạn, traffic search tăng 65%…

Bài tóm tắt · Jane Street · 2015 Khó

Building a lower-latency GC

GC gây pause không đoán trước, xấu cho hệ giao dịch. Cách thường làm là pool hết object, không cấp phát gì trên hot path; cách này chạy được nhưng code khó viết và khó suy luận. Jane Street muốn một GC cho phép vẫn cấp…

Bài tóm tắt · LinkedIn · 2015 Dễ

A Brief History of Scaling LinkedIn

LinkedIn ra đời năm 2003, tuần đầu có 2.700 thành viên. Năm 2015: hơn 350 triệu thành viên, hàng chục nghìn page mỗi giây, mobile chiếm hơn 50% traffic, backend chịu hàng triệu query mỗi giây.

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

Introducing Espresso - LinkedIn's hot new distributed document store

Trước Espresso, LinkedIn dùng Oracle (dữ liệu chính, strong consistency) và Voldemort (key-value). Phần lớn dữ liệu chính không cần đủ tính năng RDBMS nhưng lại cần đọc-sau-ghi và một change capture stream có thứ tự…

Bài tóm tắt · LinkedIn · 2015 Dễ

Making Your Feed More Relevant – Part I

Feed LinkedIn trộn nhiều loại update: bài chia sẻ của kết nối, gợi ý việc làm, tin tức, gợi ý kết bạn (PYMK), quảng cáo. Phản hồi là hành vi ngầm (click, like, comment, share, thời gian xem); đồ thị kết nối và profile…

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

Running Kafka At Scale

Năm 2015 Kafka chạm gần như mọi server LinkedIn: hơn 800 tỷ message/ngày (175 TB vào, 650 TB đọc ra), đỉnh 13 triệu message/giây (2,75 GB/s), hơn 1.100 broker trong hơn 60 cluster.