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 · Grab · 2019 Trung bình

How We Built a Logging Stack at Grab

Một năm trước đó, Grab không có trực quan hoá hay metric cho log service; tìm một chuỗi trong log ba ngày qua là "chạy query rồi đi pha nước". Cách cũ là một mớ: log trên storage cloud (mất hàng giờ mới lấy được), một…

Bài tóm tắt · Disney Hotstar · 2019 Khó

Building Pubsub for 50M concurrent socket connections

IPL 2019, Hotstar ra Social Feed dưới video trên app mobile: nội dung gắn với diễn biến trận đấu nên phải đẩy realtime, không cache được, thời điểm không đoán trước (mỗi quả bóng dài ngắn khác nhau), và không được làm…

Bài tóm tắt · Disney Hotstar · 2019 Dễ

Scaling for Tsunami traffic

Traffic của Hotstar (streaming ở Ấn Độ) có dạng "sóng thần": khi đội tuyển cricket Ấn Độ ra sân, lượng user đồng thời tăng vọt trong vài phút.

Bài tóm tắt · Instagram · 2019 Khó

Python at Scale: Strict Modules

Instagram Server là monolith Python vài triệu dòng, hàng trăm commit mỗi ngày, deploy production vài phút một lần (2019). Theo Instagram, các tính năng động của Python ổn với codebase nhỏ và đội có kỷ luật, nhưng thành…

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

Authorization at LinkedIn's Scale

Phân quyền giữa các service (không phải giữa user và sản phẩm): một microservice chỉ được đọc dữ liệu khi có lý do nghiệp vụ, để dữ liệu thành viên không lan rộng và để giới hạn thiệt hại nếu một service nội bộ bị chiếm.

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

Eliminating toil with fully automated load testing

Năm 2013 LinkedIn chạy nhiều data center và dựng TrafficShift để chuyển traffic thật giữa các DC khi có incident.

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

Open sourcing Brooklin: Near real-time data streaming at scale

Bài toán không chỉ là chuyển nhiều dữ liệu, mà là số loại hệ nguồn và đích tăng nhanh (Espresso, Oracle, MySQL, Kafka, Azure Event Hubs, Kinesis).

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

An inside look at LinkedIn's data pipeline monitoring system

Dữ liệu vào Hadoop chủ yếu qua Apache Gobblin (nguồn Kafka, Espresso, Oracle), job batch chạy hàng giờ trên hàng trăm dataset. Giám sát lúc đó chỉ là trạng thái pass/fail của job trên dashboard Azkaban tự làm (Kyaraben).

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

Community-focused Feed optimization

Feed hai tầng (): các first pass ranker (FPR) chọn ứng viên từ kho của mình, second pass ranker (SPR) gộp và chấm điểm. FollowFeed là FPR chính: hơn 80% update trên feed, đóng góp hơn 95% cuộc hội thoại của member…

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

Auditing content features in FollowFeed

Hơn 80% feed là nội dung organic, đều do FollowFeed phục vụ. Activity và feature (ngôn ngữ, hashtag, vị trí tác giả...) cùng vào FollowFeed qua Kafka; storage node partition theo tác giả, chỉ giữ feature của activity…

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

Solving manageability challenges at scale with Nuage

Mỗi tính năng dùng nhiều hạ tầng: Espresso, Galene, Kafka, Bulkhead (quota), Helix, Fuse (chống lạm dụng), Couchbase, Ambry (blob), Pinot, Samza, Pro-ML, Brooklin, Venice. Mục tiêu "hạ tầng vô hình": team sản phẩm tự…

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

Smart alerts in ThirdEye, LinkedIn's real-time monitoring platform

ThirdEye giám sát và phân tích nguyên nhân cho metric từ sức khoẻ sản phẩm tới metric kinh doanh và hiệu năng model ML; nguồn chính là Pinot và inGraphs.

Bài tóm tắt · Mercari · 2019 Trung bình

Payment Transaction Management in Microservices

PaymentService của Merpay (mảng thanh toán của Mercari) nằm giữa kiến trúc microservices: dùng các phương thức thanh toán ở service phía dưới (kể cả service bên ngoài như thẻ tín dụng) để cung cấp luồng thanh toán cho…

Bài tóm tắt · Monzo · 2019 Trung bình

How our security team handle secrets

Nền tảng Monzo 2019: khoảng 1.100 microservice Go trên Kubernetes tự vận hành (kể cả etcd), Cassandra, Kafka và NSQ.

Bài tóm tắt · Monzo · 2019 Dễ

How we've evolved on-call

Từ bài 2018, Monzo đã có tuyến một gồm primary (kỹ sư kinh nghiệm, biết incident commander) và shadow (người mới học bằng cách quan sát), đều là tình nguyện viên có trả tiền. Khi hệ thống lớn nhanh, primary khó có ngữ…

Bài tóm tắt · Netflix · 2019 Nâng cao

DBLog: A Generic Change-Data-Capture Framework

Nền tảng Delta của Netflix giữ nhiều kho dữ liệu sync: một kho là nguồn sự thật (MySQL), các kho khác dẫn xuất (Elasticsearch). CDC thay cho dual write và transaction phân tán.

Bài tóm tắt · Nubank · 2019 Dễ

How we do On-Call Rotations

Đo chất lượng trực bằng MTTA (sức khoẻ của lịch trực) và MTTR (chất lượng công cụ và tài liệu). Tự nhiên nhất là team xây hệ nào trực hệ đó, nhưng team chỉ 2–8 người nên mỗi người trực nhiều ngày mỗi tháng, mà trực thì…

Bài tóm tắt · Prometheus · 2019 Trung bình

Remote Read Meets Streaming

Prometheus có remote API từ bản 1.x: write (Prometheus đẩy sample ra hệ khác, cách phổ biến để lưu dài hạn) và read (hệ khác đọc thẳng dữ liệu trong TSDB của Prometheus, không qua PromQL). Remote read có từ 3/2017, dùng…

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

Controlled Chaos with Fault Injection Testing

Riot Games API (dữ liệu League cho developer bên ngoài) có rate limiter ở edge (ESRL); vì request rơi vào server bất kỳ, tổng số call mỗi khách phải đếm ở một chỗ trung tâm là Redis.

Bài tóm tắt · Shopify · 2019 Dễ

Deconstructing the Monolith: Designing Software that Maximizes Developer Productivity

Một trong những codebase Rails lớn nhất thế giới: hơn 10 năm, hơn 1.000 developer. Ban đầu là monolith không có ranh giới: code tính phí ship gọi thẳng code tính thuế, và ngược lại.

Bài tóm tắt · SoundCloud · 2019 Trung bình

Alerting on Service-Level Objectives (SLOs)

Theo SoundCloud, alert dựa trên SLO gần như là "viên đạn bạc" cho alert có ý nghĩa: đạt SLO là định nghĩa của việc đáp ứng kỳ vọng của user, còn một mức lỗi nằm trong SLO (error budget) là chấp nhận được. Họ áp dụng…

Bài tóm tắt · Stack Overflow · 2019 Trung bình

Stack Overflow: How We Do App Caching - 2019 Edition

Thang latency (2019): RAM khoảng 100 ns; một lần gọi Redis qua LAN của họ 0,2–0,5 ms (chậm hơn RAM 2.000–5.000 lần); trang câu hỏi render trung bình 18–20 ms, nên vài lần gọi Redis đã chiếm một phần đáng kể.

Bài tóm tắt · Stripe · 2019 Dễ

Fast and flexible observability with canonical log lines

Log có cấu trúc (key=value) linh hoạt hơn metric (metric và dashboard phải thiết kế trước, khó hỏi câu bất ngờ). Nhưng thông tin của một request rải trên nhiều dòng: muốn hỏi "user nào bị rate limit nhiều nhất" phải…

Bài tóm tắt · Tinder · 2019 Khó

How We Improved Our Performance Using ElasticSearch Plugins: Part 1

Hệ gợi ý của Tinder lưu document người dùng trong Elasticsearch (6.3); mỗi lượt lấy gợi ý là một query lọc rồi sắp theo hàm relevance viết bằng Painless script.