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 · Etsy · 2017 Trung bình

How Etsy caches: hashing, Ketama, and cache smearing

Etsy dùng memcached làm look-aside cache (kết quả query DB, search, tính toán đắt) cho PHP và Java, và Varnish làm cache HTTP cho request nội bộ giữa API server (key gồm URL, query, header trong Vary như locale).

Bài tóm tắt · Etsy · 2017 Trung bình

Reducing Image File Size in the Photos Infrastructure

Hạ tầng ảnh: người bán upload, máy ImgWriter chuyển thành JPEG, lưu ở Mediastore (có dư thừa); khi xem, ImgCache lấy từ Mediastore, có cache trong bộ nhớ cho ảnh hay xem và hash để tránh làm trùng; trước đó là CDN.

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

Dismissing Python Garbage Collection at Instagram

Web server Django chạy uWSGI ở chế độ pre-fork: process master fork ra hàng chục worker để chia sẻ bộ nhớ theo copy-on-write (CoW). Worker bị restart khi RSS vượt ngưỡng để tránh OOM.

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

Building the Activity Graph, Part 2

FollowFeed index mọi Activity thành danh sách theo thời gian của từng actor, key là URN của actor. Bản ghi TimelineRecord phải nhỏ để index vừa RAM.

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

Couchbase Ecosystem at LinkedIn

LinkedIn dùng Couchbase từ 2012. Năm 2017: hơn 10 triệu query/giây, hơn 200 cluster (production, staging, corp), cluster từ 3 tới 72 node. Dùng làm cache backend cho recruiter và jobs, counter cho cơ chế chống tấn công,…

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

Open Sourcing Iris and Oncall

Trước 2015, kỹ sư NOC escalate incident bằng tay: không rõ ai là người liên hệ thứ hai và liên hệ bằng gì; số alert tăng nhanh hơn nhiều so với số người ở NOC. Đường escalate cũ lấy theo quản lý trong LDAP nên incident…

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

Improving Resiliency and Stability of a Large-scale Monolithic API Service

Voyager-API: tầng API cho web và mobile của LinkedIn, ra đời từ chiến lược "mobile-first". Hai nguyên tắc thiết kế:

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

Resilience Engineering at LinkedIn with Project Waterbear

Càng nhiều microservice thì càng nhiều phụ thuộc, điểm hỏng và miền lỗi. Năm 2017 trang chủ phụ thuộc hơn 550 endpoint. SRE nhận "độ bền ứng dụng như một dịch vụ": đo, phân tích và đưa best practice cho chủ service.

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

Building Venice with Apache Helix

LinkedIn có nhiều kho chuyên biệt với đánh đổi khác nhau (kho chỉ cần put/get nhanh, kho cần strong consistency và index). Theo bài, họ không viết mỗi kho từ đầu mà dùng thư viện chung; Helix (ra đời cho Espresso) lo…

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

Distributed tracing at Pinterest with new open source tools

Backend Pinterest (2017): hàng trăm microservice trên hàng chục nghìn máy; một request home feed có thể network call hàng trăm lần tới hàng chục service. Metric (OpenTSDB) và log (ELK) cho biết request chậm, không cho…

Bài tóm tắt · Salesforce · 2017 Trung bình

Our Journey to a Near Perfect Log Pipeline

Log của ứng dụng lõi Salesforce trong các data center phục vụ nhiều nhóm (Product Intelligence, Security, điều tra incident), nên phải tới "Secure Zone" gần như đầy đủ. Pipeline cũ (agent tự viết + LFTP + SAN) ngày càng…

Bài tóm tắt · Stack Overflow · 2017 Khó

HTTPS on Stack Overflow: The End of a Long Road

22/5/2017: HTTPS thành mặc định trên Stack Overflow, site cuối cùng và lớn nhất của network; thao tác bật chỉ là một feature flag, nhưng chuẩn bị mất 4 năm (2013→2017).

Bài tóm tắt · Twilio · 2017 Trung bình

Ratequeue: Core Queueing-And-Rate-Limiting System (chaos engineering cho failover)

Tin nhắn gửi đi của Twilio có thể bị rate limiting (quy định nhà mạng, hợp đồng, năng lực), nên mỗi sender ID có một queue tạm và được dequeue theo tốc độ cho phép.

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

Open Sourcing Screwdriver, Yahoo's Continuous Delivery Build System for Dynamic Infrastructure

Theo Yahoo, mọi sản phẩm đang hoạt động của họ đã deploy từ commit tới production hoàn toàn tự động (2017). Screwdriver là hệ build và release nội bộ đã dùng khoảng 5 năm, xử lý hơn 25.000 build/ngày và hơn 12.000…

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

The static-all Split - Dividing Zillow's JavaScript Monolith Repository

Năm 2012, dự án "The Great Schism" tách mọi tài nguyên tĩnh (JS, CSS, ảnh, template) khỏi ứng dụng monolith Java vào một repo tên static-all.

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

Avoid webpack bloat: Optimize your dependencies

Mỗi dependency npm là một nguồn lỗi và bảo trì; thư viện phổ biến cũng phình dần (Moment.js 2,2 KB lúc 1.0 → hơn 20 KB gzip).

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

Nebula as a Storage Platform to Build Airbnb's Search Backends

2015: dữ liệu cá nhân hoá cho search vượt sức một máy. Thay vì chỉ làm lại service đó, Airbnb xây nền tảng chung vì thấy nhiều service sẽ cần cùng thứ: phục vụ latency ms cho traffic site, nhận cập nhật realtime từ…

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

The great adventure of migrating Allegro infrastructure to new Data Center - DC5

DC2 ở Poznań là data center "thật" đầu tiên của Allegro (từ 2007). Đến 2014 có khoảng 2.000 thiết bị trong 90 tủ rack, phục vụ allegro.pl và các site khác của Naspers ở Ba Lan: khoảng 75 website ở 20 nước, khoảng 250…

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

Evaluating MySQL Parallel Replication Part 4: More Benchmarks in Production

Phần 3 đo parallel replication kiểu "bảo thủ" (MariaDB 10.0): master đánh dấu transaction nào song song được, slave chỉ chạy song song những cái đó. Kết quả chỉ 1,3 đến 2,1 lần.

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

Scaling to exabytes and beyond (Magic Pocket)

Dropbox luôn là hybrid cloud: metadata và web server ở data center riêng, nội dung file trên Amazon S3. Họ là khách hàng sớm của S3 và nói thẳng là không thể lớn nhanh như vậy nếu không có AWS.

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

FollowFeed: LinkedIn's Feed Made Faster and Smarter

Mọi trải nghiệm feed của LinkedIn chạy trên một hạ tầng chung. Trước đó là Sensei: hệ search phân tán trên Lucene, query viết bằng BQL gồm cả lọc lẫn relevance, broker fan-out tới mọi searcher node rồi gộp top N.

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

Completing the Netflix Cloud Migration

8/2008: database bị hỏng dữ liệu nghiêm trọng, 3 ngày không gửi được DVD. Netflix kết luận phải rời các điểm hỏng đơn lẻ scale dọc (DB quan hệ trong data center) để sang hệ phân tán, scale ngang trên cloud (AWS).

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

Netflix Conductor: A microservices orchestrator

Content Platform Engineering chạy các quy trình nghiệp vụ bất đồng bộ trải qua nhiều microservice, có cái kéo dài nhiều ngày: nhận nội dung từ studio, ingest IMF, dựng title mới, encode và đẩy lên CDN.

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

Running an automated test pipeline for the League client update

Client cũ của League of Legends viết bằng Adobe AIR, có những lỗi lọt ra người chơi. Client mới (League client update) gồm frontend dựa trên Chromium và backend C++ cung cấp REST và websocket, nên tự động hoá được:…