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 · 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 · Medium · 2015 Cơ bản

How Medium Detects Hotspots in DynamoDB using ElasticSearch, Logstash and Kibana

Kho phân tán scale ngang bằng cách chia dữ liệu cho nhiều server; chỉ được lợi khi truy cập đều. Ví dụ của bài: 26 server theo chữ cái đầu của họ, nếu 99% request hỏi "John Doe" thì throughput thực vẫn chỉ bằng một…

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

Sharding Pinterest: How we scaled our MySQL fleet

2011 Pinterest tăng trưởng cực nhanh; khoảng 9/2011 mọi tầng hạ tầng quá tải, vài hệ NoSQL "đều hỏng nặng", còn đọc từ nhiều MySQL slave gây bug khó chịu (nhất là với cache). Năm 2015: hơn 50 tỉ Pin trên 1 tỉ board.

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

Learn to stop using shiny new things and love MySQL

Sau khoảng một năm scale gấp, Pinterest chạy cùng lúc MySQL, Memcache, MongoDB, Redis, Cassandra, Membase và Elasticsearch; theo tác giả, "mọi thứ đều cháy theo cách riêng". Các công ty database mới chào mời giải quyết…

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 · Uber · 2015 Dễ

Service-Oriented Architecture: Scaling the Uber Engineering Codebase As We Grow

Uber bắt đầu bằng một monolith cho một sản phẩm (UberBLACK) ở một thành phố (San Francisco). Lúc đầu để mọi logic một chỗ là hợp lý.

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 application layer. Con đường quen…

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

Scaling to 100M: MySQL is a Better NoSQL

Mỗi request tới một site Wix (domain riêng hoặc subdomain) phải phân giải URL → site: một phép tra key/value.

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

Building and Open-Sourcing Wix's A/B Testing System

Wix làm continuous delivery: code đẩy lên là chạy production. Theo Wix, vì code tồi cũng lên production ngay, một hệ thống experiment (A/B test và feature toggle) là điều kiện cần của CD: đánh dấu code là thử nghiệm,…

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 Dễ

Improving Homepage Performance

Làm lại trang chủ Zillow (2015, do một thực tập sinh làm). Chỉ số hiệu năng chọn theo cảm nhận: một mốc User Timing khi ảnh hero vẽ xong.

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

Image Processing at Zillow: Out with the Old and In with the AWS

Zillow xử lý hơn 3 triệu ảnh mới mỗi ngày (2015): ảnh listing, ảnh hồ sơ, ảnh Zillow Digs; một phần upload tay, phần lớn đến theo feed hàng loạt từ hàng trăm nguồn, dồn cục trong ngày.

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

Bigger, Faster, and More Engaging while on a Budget

Công cụ hiệu năng web của Zillow năm 2015: RUM tự làm đưa vào Splunk, một WebPageTest nội bộ chạy hằng ngày trên môi trường test, và thêm SpeedCurve.

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…

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 · Booking.com · 2014 Nâng cao

Better Crash-safe replication for MySQL

Booking.com (2014) dùng replication MySQL để scale đọc, với hàng nghìn slave; số lượng đó nghĩa là sớm muộn sẽ có slave chết.

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 · Jane Street · 2014 Trung bình

Making "never break the build" scale

"Not Rocket Science Rule" (Graydon Hoare): repo chính không bao giờ có bản fail test. Cách làm ngây thơ là build-bot nhận từng pull request, merge với tip, build và chạy toàn bộ test, đạt thì mới thành tip mới. Jane…

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.