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. 351 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 · Stack Overflow · 2018 Trung bình

Stack Overflow: How We Do Monitoring - 2018 Edition

Cuối 2018, Stack Overflow vẫn chạy ASP.NET MVC5 và đang chuyển sang .NET Core. Bài chia dữ liệu monitoring thành logs, metrics, health checks và profiling, rồi kể các công cụ (phần lớn tự viết và open source) dùng cho…

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

Building a Pipeline to Process Clickstream Data

Clickstream là một trong những dataset lớn nhất: gần một tỷ event/ngày, dataset lớn nhất khoảng 2 TB/ngày chưa nén, bảng rộng nhất khoảng 700 cột (2018). Dùng cho dashboard, cá nhân hoá, gợi ý, ML.

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

Tracking the Money — Scaling Financial Reporting at Airbnb

Thanh toán của Airbnb chạy ở 191 nước, hơn 70 loại tiền, hơn 20 bộ xử lý thanh toán (2017); sản phẩm mở rộng ngoài đặt phòng (trả tiền thợ ảnh, phiên dịch, trải nghiệm).

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

Deployment of etcd on AWS EC2

etcd là kho key-value strong consistency, replicate sync bằng Raft; là nền cho control plane Kubernetes, lock phân tán, config, secret.

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 · 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 · 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 · 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 · 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:…

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 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 · 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 · 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 · 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ì…