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

Lessons in resilience at SoundCloud

Phần lớn service của SoundCloud nói chuyện bằng JSON qua HTTP trên Finagle, nên khả năng chịu lỗi ở tầng này quyết định uptime.

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

Stack Overflow: The Architecture - 2016 Edition

Số liệu một ngày (9/2/2016):

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 · 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 · 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 · 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 đường nóng; 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…

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.

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

Real-time Distributed Tracing for Website Performance and Efficiency Optimizations

Kiến trúc hướng service của LinkedIn: một lượt xem trang fan-out ra nhiều service ở nhiều tầng, nhiều mức sâu. Dev phụ thuộc service phía sau nhưng không thấy quan hệ và hiệu năng của chúng, nên khó tối ưu và khó tìm…

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

Rest.li 2.x and a Protocol Upgrade Story

Rest.li 2.0 đổi định dạng URL (gọn hơn, nhất quán giữa compound key và complex key, biểu diễn được list/map/chuỗi rỗng) và không tương thích ngược với 1.0. Server mới hiểu cả hai, client mới gửi 2.0 tới server cũ thì…

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

Chat Service Architecture: Servers

Chat LoL (2015): mỗi ngày thường định tuyến khoảng 1 tỷ event (presence, message, IQ) và hàng triệu REST query; một ngày tháng 7 có 1,7 triệu lượt kết bạn mới.

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

Chat Service Architecture: Persistence

Chat dựng trên ejabberd (mã nguồn mở), vốn chỉ hỗ trợ Mnesia hoặc ODBC. Lúc đầu chọn MySQL vì quy mô chưa là vấn đề và team quen. Mỗi shard ba máy MySQL: primary, backup, ETL. Dữ liệu: danh sách bạn (roster) và…

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

Cloud Native MySQL Sharding with Vitess and Kubernetes

Vitess ra đời ở YouTube để scale MySQL (theo bài tháng 3/2015 cùng tác giả: metadata cho hàng tỉ lượt xem mỗi ngày, 300 giờ video mới mỗi phút), giấu độ phức tạp của sharding khỏi tầng ứng dụng. Con đường quen thuộc:…

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

BookKeeper: Yahoo's Distributed Log Storage

BookKeeper do Yahoo tạo năm 2009: kho log tuần tự nhân bản, scale ngang trên phần cứng phổ thông; mở cho cộng đồng năm 2011, thành dự án cấp cao của Apache năm 2015.

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

Benchmarking Streaming Computation Engines at Yahoo!

Yahoo dùng Apache Storm cho streaming từ 2012 (thay S4 tự làm); cuối 2015 có khoảng 2.300 node Storm. Thị trường đã có Flink, Spark Streaming, Samza, Apex, Dataflow, và các benchmark có sẵn không giống tải thật.

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

Splunk at Zillow

Sau vài năm ship liên tục, lỗi chỉ tăng: một service tầng trình bày sinh hơn 4 triệu lỗi/ngày, khoảng 20.000 loại lỗi (2015), phần lớn không cần xử lý. Giám sát service này chỉ dựa vào số lượng lỗi, nên lỗi thật chìm…