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. 625 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 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 · Amazon · 2014 Dễ

The Story of Apollo – Amazon's Deployment Engine

Khi chuyển sang service-oriented architecture, Amazon tách phần mềm thành nhiều service nhỏ và tổ chức thành các team nhỏ tự chủ, mỗi team sở hữu cả phát triển lẫn vận hành một service. Team ra tính năng nhanh hơn,…

Bài tóm tắt · Dropbox · 2014 Cơ bản

Outage post-mortem

Dropbox chạy hàng nghìn database, mỗi DB một master và hai replica, cộng backup full và incremental ở môi trường riêng. Các DB này giữ metadata cho tính năng (chia sẻ album, camera upload, một số API), không giữ nội…

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

Did you mean "Galene"?

Search của LinkedIn (hơn 300 triệu member, 2014) dựng trên Lucene, rồi đắp thêm từng lớp mỗi khi gặp giới hạn: Sensei (sharding, quản lý cluster), Search Content Store (giữ mọi term của entity, vì Lucene cập nhật bằng…

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

Garbage Collection Optimization for High-Throughput and Low-Latency Java Applications

Khi dựng thế hệ mới của feed data platform (index cập nhật từ member, company, group để phục vụ feed), team làm prototype gần đủ chức năng, chạy lại workload query của hệ đang chạy để đo GC trong thời gian dài. Java…

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

Maximizing Our Publishing Platform Reach with Network Distribution

Nền tảng viết bài của LinkedIn phân phối bài tới kết nối cấp 1 và người theo dõi (2014: tác giả trung bình có 1.049 kết nối cấp 1 và 42 follower). Ba kênh: feed, thông báo, email Pulse.

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

Real-time Analytics at Massive Scale with Pinot

Khoảng 2012, các sản phẩm phân tích chạy trên Oracle và Voldemort, không hợp với OLAP; dữ liệu tăng theo cả chiều rộng lẫn chiều sâu. Ví dụ Jobs Analytics: xử lý và nén trên Hadoop rồi đẩy lại vào Oracle, nên không gần…

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

Questioning the Lambda Architecture

Lambda architecture (Nathan Marz): cùng một luồng dữ liệu bất biến được đưa song song vào hệ batch (MapReduce) và hệ stream (Storm); logic biến đổi viết hai lần, kết quả hai bên ghép lại lúc truy vấn.

Bài tóm tắt · Meta · 2014 Nâng cao

Lessons from Deploying MySQL GTID at Scale

Replication MySQL truyền thống dựa trên toạ độ tương đối (tên file binlog + vị trí). GTID (MySQL 5.6) gán cho mỗi transaction một ID duy nhất, nên replica tự biết mình đã chạy tới đâu (auto-positioning).

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

Using Presto in our Big Data Platform on AWS

Nền big data của Netflix (2014) đặt data warehouse trên S3: compute tách khỏi storage, nhiều cluster (chạy dài hay tạm) cùng đọc chung dữ liệu. User viết job Pig hoặc Hive cho ETL và phân tích; một phần nhỏ kết quả và…

Bài tóm tắt · Twitter · 2014 Khó

How Twitter Uses Redis to Scale - 105TB RAM, 39MM QPS, 10,000+ Instances

Năm 2014 cache của Twitter: khoảng 105 TB RAM, 39 triệu QPS, hơn 10.000 instance; Redis từ 2010 cho Timeline (danh sách ID tweet), rồi Ads. Dịch vụ cache tăng từ một project lên gần trăm project dùng.

Bài tóm tắt · WhatsApp · 2014 Dễ

Open Whisper Systems partners with WhatsApp to provide end-to-end encryption

Open Whisper Systems đã phát triển giao thức mã hoá mở cho nhắn tin bất đồng bộ (TextSecure, sau đổi tên Signal Protocol) trong ba năm. Hai bên đã làm việc với nhau nửa năm trước khi thông báo.

Bài tóm tắt · WhatsApp · 2014 Khó

How WhatsApp Grew to Nearly 500 Million Users, 11,000 cores, and 70 Million Messages a Second

465 triệu user/tháng; 19 tỉ tin vào và 40 tỉ tin ra mỗi ngày; 600 triệu ảnh, 200 triệu voice, 100 triệu video mỗi ngày.

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

Call me maybe: Cassandra

Cassandra theo mô hình Dynamo (hash ring, N bản, quorum điều chỉnh được, hinted handoff, anti-entropy) nhưng bỏ vector clock để dùng last-write-wins thuần: một round-trip mỗi ghi thay vì hai.

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

Call me maybe: Kafka

Kafka 0.8 thêm replication: mỗi partition một leader (bầu qua ZooKeeper) giữ ISR (in-sync replica); ghi commit khi mọi node trong ISR ack. LinkedIn tuyên bố chịu được f−1 lỗi với f node vì theo kinh nghiệm vận hành của…

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

Rest.li: RESTful Service Architecture at Scale

LinkedIn cần một cách chuẩn để mô tả resource trong kiến trúc SOA cho client viết bằng nhiều ngôn ngữ, chịu được vài nghìn QPS mỗi instance, bất đồng bộ, và cho phép interface tiến hoá lâu dài.

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

The Log: What every software engineer should know about real-time data's unifying abstraction

Khoảng 2007 LinkedIn bắt đầu chạm giới hạn của một database tập trung, chuyển sang một danh mục hệ phân tán chuyên biệt: search, social graph, Voldemort (key-value), Espresso (document), recommendation, OLAP, Hadoop,…

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

Under the Hood: Building out the infrastructure for Graph Search

Facebook có nhiều hệ search cũ chồng nhau: PPS (theo từ khoá, cá nhân hoá, lọc theo loại entity); Typeahead (2009–2010, tìm theo tiền tố khi gõ, viết lại toàn bộ backend và frontend để đạt hiệu năng, nhưng index bị giới…

Bài tóm tắt · Netflix · 2013 Khó

Active-Active for Multi-Regional Resiliency

Theo Netflix, tỉ lệ hỏng phụ thuộc hai thứ: quy mô deploy và tốc độ thay đổi; chạy lớn mà vẫn đổi nhanh thì "lúc nào cũng có thứ hỏng". Mục tiêu nội bộ là 99,99%. Mất trọn một region rất hiếm, nhưng chính tốc độ thay…

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

Scryer: Netflix's Predictive Auto Scaling Engine

Netflix dùng Amazon Auto Scaling (AAS): tăng giảm số instance theo metric hiện tại (thường là load average). Theo Netflix, AAS hiệu quả cho availability và chi phí, nhưng phản ứng sau khi tải đã đổi.

Bài tóm tắt · Stack Overflow · 2013 Dễ

What it takes to run Stack Overflow

Nick Craver mô tả Stack Overflow là chạy "with scale" nhưng không "at scale": vận hành rất hiệu quả nhưng chưa "lớn". Số liệu một ngày (12/11/2013), chỉ tính data center đang hoạt động, không tính CDN:

Bài tóm tắt · Twitter · 2013 Trung bình

The Architecture Twitter Uses to Deal with 150M Active Users, 300K QPS, a 22 MB/S Firehose, and Send Tweets in Under 5 Seconds

150 triệu user hoạt động; 300K QPS đọc timeline nhưng chỉ khoảng 6.000 request/giây ghi: Twitter chủ yếu là nơi tiêu thụ. 400 triệu tweet/ngày (trung bình 5K/giây, đỉnh 7K/giây, hơn 12K/giây khi có sự kiện lớn);…

Bài tóm tắt · Twitter · 2013 Trung bình

New Tweets per second record, and how!

3/8/2013 (khán giả Nhật xem Castle in the Sky): đỉnh 143.199 tweet/giây, trong khi bình thường là 500 triệu tweet/ngày, tức ~5.700 TPS. Đỉnh gấp ~25 lần mà user không thấy gián đoạn.

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

A Closer Look at the Christmas Eve Outage

Cuối 2012, Netflix dùng hàng trăm ELB, mỗi cái cho một service hoặc một phiên bản service; mỗi nhóm thiết bị (trong hơn một nghìn loại thiết bị) phụ thuộc vào một số ELB riêng. Kiến trúc chịu được mất một phần hoặc cả…

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

Lessons Netflix Learned from the AWS Outage

21/4/2011: incident lớn ở AWS US-East làm sập hoặc làm chậm nhiều website lớn.