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. 531 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 · Tokio · 2018 Trung bình

Tokio Reform is Shipped and the Road to 0.2

Trước bản này, người dùng phải tự tạo và quản lý event loop, dù hầu hết đều làm giống nhau; chạy code trên thread của reactor khác hẳn chạy từ thread khác (thread pool). Reactor của Tokio vừa lo I/O vừa thực thi task…

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

Introducing Flint: A Time-Series Library for Apache Spark

Dữ liệu tăng tới mức giải pháp một máy không còn đủ; Spark đã thành chuẩn cho big data, nhưng thiếu các thao tác chuỗi thời gian mà nghiên cứu cần.

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

Alerting Framework at Airbnb

Năm 2017 Airbnb không có đội vận hành riêng: từng team tự cấu hình monitoring và tự xử lý incident của service mình. Họ dùng Datadog.

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

Serverless Transactions Serve Customers

Core banking chạy trên mainframe nguyên khối: chu kỳ release dài, giá mỗi GB và mỗi MIPS cao, scale phải nâng cấp đắt, capacity mua theo đỉnh, phụ thuộc chằng chịt nên khó thử cái mới.

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

How Discord Stores Billions of Messages

Bản đầu của Discord được viết trong chưa tới 2 tháng (đầu 2015). Mọi thứ nằm trong một replica set MongoDB, và họ nói rõ là cố ý: làm nhanh để kiểm chứng sản phẩm, nhưng luôn chừa đường sang giải pháp bền hơn. Họ biết…

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

Postmortem of database outage of January 31

Đầu 2017, GitLab.com chạy một primary + một secondary hot standby PostgreSQL; secondary chỉ để failover, mọi tải dồn vào primary. Primary đã là điểm hỏng chung trong vài incident trước (bloat, polling của CI giữ khoá…

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

Incident review: API and Dashboard outage on 10 October 2017

Dữ liệu quan trọng nhất nằm trên Postgres 3 node: primary + 1 synchronous replica + 1 replica bất đồng bộ (mỗi lần ghi thành công đều có ít nhất 2 bản).

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

The million dollar engineering problem

Cuối quý 3/2016: 2/3 giá vốn (COGS) của Segment là hoá đơn AWS.

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

A Brief History of the UUID (KSUID)

Bài giới thiệu KSUID, thư viện Go sinh ID của Segment. Phần lớn bài là lịch sử của UUID. Bối cảnh trực tiếp: một hệ thống nội bộ dùng UUIDv4, vài tuần sau phát sinh yêu cầu sắp ID theo thời gian để lưu log lên S3 theo…

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

Flannel: An Application-Level Edge Cache to Make Slack Scale

Slack thiết kế cho team vài trăm người: khi khởi động, client gọi rtm.start nhận toàn bộ snapshot của team (user, channel, thành viên, tin mới nhất, DM...) rồi mở WebSocket nhận event real-time.

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

Maximum Warp: Building Migrations for Slack Enterprise Grid

Mô hình dữ liệu Slack: mọi dữ liệu của một team nằm trên cùng một shard MySQL, băm theo ID 64-bit của team. Dàn tải tốt, nhưng khó với dữ liệu vượt ranh giới một team.

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

Scaling Slack's Job Queue

Job queue chạy mọi việc không làm kịp trong request web: mỗi tin nhắn, push notification, unfurl URL, nhắc lịch, tính tiền. Ngày bận nhất hơn 1,4 tỉ job, đỉnh 33.000 job/giây.

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

Secret Management Architectures: Finding the balance between security and complexity

Nhiều team để secret dạng plain text trong code hoặc file cấu hình, chỉ dựa vào việc repo là private. Slalom đề nghị tự hỏi: nhân viên nghỉ thì rotate secret có dễ không, bị lộ thì mất bao lâu để khoanh vùng, có audit…

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

Kabootar — Swiggy's Communication Platform

Swiggy (giao đồ ăn, Ấn Độ) cần liên lạc với khách hàng, shipper, nhà hàng và nhân viên chăm sóc khách hàng qua push, SMS, email.

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.