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 · Airbnb · 2019 Nâng cao

Avoiding Double Payments in a Distributed Payments System

Airbnb chuyển sang SOA; một API thanh toán gọi xuống nhiều service, mỗi service đổi trạng thái và có tác dụng phụ: thực chất là một transaction phân tán, trong khi request network chắc chắn có lúc timeout.

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

A Decade of Evolution of Alibaba's Databases - Part 2

2016, giám sát: hệ giám sát DB thành bottleneck khi số DB tăng: độ chi tiết chỉ 1 phút, sau tối ưu mới được 10 giây. Bộ phận bảo mật lại đòi thu toàn bộ câu SQL để phân tích realtime. Họ dựng lại cả hệ giám sát (giám…

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

A Decade of Evolution of Alibaba's Databases - Part 1

Double 11 tạo ra một đỉnh tải cực lớn đúng 00:00, và chính đỉnh đó định hướng công nghệ database của Alibaba suốt một thập kỷ.

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

Chaos Testing a Distributed System with Jepsen

Data store của Appian (nền tảng low-code) chọn Consistency khi phải đánh đổi theo CAP và cam kết linearizability: ghi xong thì mọi lần đọc bắt đầu sau đó phải thấy giá trị đó hoặc mới hơn; cộng read-your-own-writes,…

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

Chaos Testing a Distributed System with Jepsen — Part II

Sau khi chọn Jepsen, việc khó là đưa nó vào hạ tầng thật: hệ cần test (SUT) phụ thuộc Kafka và Zookeeper, binary và thư viện nằm trong kho nội bộ có xác thực, và test phải chạy liên tục chứ không chỉ trên máy dev.

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

Analysis of recent downtime & what we're doing to prevent future incidents

Đa số dữ liệu người dùng của Asana đã shard, nhưng một phần mô hình dữ liệu dùng chung cho mọi team/workspace của user nằm trong một database dùng chung (MySQL trên RDS, cấu hình HA).

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

Using an event-driven architecture to improve Jira Software responsiveness

Board của Next-Gen Jira Software poll mỗi phút để lấy dữ liệu mới. Hậu quả: người khác sửa issue thì phải chờ khoảng một phút mới thấy, và phần lớn request là thừa vì không có gì đổi.

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

Our not-so-magic journey scaling low latency, multi-region services on AWS

Atlassian "all in" trên AWS từ 2016; nhiều service phải viết lại cho stateless.

Bài tóm tắt · Basecamp · 2019 Cơ bản

Basecamp 2 and Basecamp 3 search outage report

Basecamp 2 và tính năng search của Basecamp 3 phụ thuộc vào các kết nối network tới một nhà cung cấp cloud.

Bài tóm tắt · Booking.com · 2019 Dễ

How Reliability and Product Teams Collaborate at Booking.com

2019: hơn 1,5 triệu đêm phòng/ngày, 50.000+ server vật lý ở 4 data center và 6 PoP. Quy mô đủ để có team reliability riêng cho từng nền tảng lớn.

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

A monolithic architecture for our clients' hundreds of versions: how we write and support tests

Backend Badoo là monolith PHP 12 năm tuổi, khởi đầu không có test. Backend developer viết tính năng và đưa lên production trước mọi client (app mobile, site), bọc bằng feature flag hoặc A/B test; client phát hành sau…

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

Using Rust to Scale Elixir for 11 Million Concurrent Users

Discord đổi cách cập nhật Member List: chỉ gửi thay đổi của phần danh sách đang hiển thị thay vì mọi thành viên, đỡ bandwidth và pin cho client.

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

Building Scalable Real Time Analytics, Alerting and Anomaly Detection Architecture at Dream11

Dream11 (2019): hơn 3 TB dữ liệu/ngày, hơn 10 triệu giao dịch/ngày, 2,8 triệu người đồng thời, hàng tỉ sự kiện clickstream/ngày.

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

Enhancing Bandaid load balancing with real-time backend server load information

Request của user qua GSLB (DNS) tới hơn 20 PoP, qua L4 rồi edge proxy L7, vào data center thì Bandaid định tuyến tới service. Bandaid đang dùng random N choices (N = 2) theo số request đang mở mà chính instance đó thấy,…

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

Courier: Dropbox migration to gRPC

Dropbox chạy hàng trăm service bằng nhiều ngôn ngữ, trao đổi hàng triệu request mỗi giây (2019). Trước Courier có giao thức tự serialize, Thrift cho pipeline log, và "legacy RPC" chính là HTTP/1.1 + protobuf.

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

Finding Kafka's throughput limit in Dropbox infrastructure

Kafka ở Dropbox phục vụ analytics, ML, monitoring, search, stream processing (Cape); đội Jetstream vận hành và cần biết giới hạn throughput để cấp cluster.

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

How we optimized Magic Pocket for cold storage

Magic Pocket () lưu block bất biến tối đa 4 MB trên đĩa quay (SMR từ 2018, ); trong một region thì mới upload là replication n-way, sau đó erasure coding nền.

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

Incrementally migrating over one million lines of code from Python 2 to Python 3

App desktop Dropbox hơn 1 triệu dòng Python. Hack Week 2015 chạy được đăng nhập + sync trên Python 3 nhưng nhiều tính năng hỏng, phần lớn code bị bỏ. Hack Week 2016: port fork Python lên 3.5, nâng/fork dependency, thêm…

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

Centralized Application Logging at eBay (CAL Ingress)

CAL gom log cục bộ của các application server về một chỗ và làm báo cáo cho mọi mảng của eBay. CAL Ingress nhận log từ hàng nghìn client qua kết nối TCP sống lâu, chia ra: raw log tới Filer, metric VID (gộp lại) qua…

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

GRIT: a Protocol for Distributed Transactions across Microservices

Trong microservices, một ứng dụng gọi nhiều service do nhiều team viết, mỗi service dùng DB riêng. Vẫn có nhu cầu thật về giao dịch ACID xuyên service.

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

Under the hood of Figma's infrastructure

Bài của trưởng nhóm infra mới (7 tháng, trước đó ở Google và Dropbox). Mục đích: kể infra đang chuyển từ "đơn giản nhưng tốn công vận hành" của một startup sang hệ thống trưởng thành hơn.

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

The Consul outage that never happened

GitLab.com (2019): khoảng 4 triệu user, 12 triệu project, 271 server production, đội Infrastructure 20–24 kỹ sư rải khắp thế giới. Đang dần chuyển sang Consul cho service discovery; thành phần chính dựa vào Consul là…

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

How we used delayed replication for disaster recovery with PostgreSQL

GitLab.com (2/2019): khoảng 3 triệu user, gần 7 triệu project; theo GitLab là một trong những site SaaS single-tenant mã nguồn mở lớn nhất. Postgres là thành phần sống còn.

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

Lessons from our journey to enable global code search with Elasticsearch on GitLab.com

Bản tự host của GitLab đã có tích hợp Elasticsearch (global search, code search) vài năm, nhưng GitLab.com, instance lớn nhất, vẫn chưa bật được.