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. 49 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 8.979 bài thuộc 133 công ty có trang riêng được hiển thị cho thành viên. 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 · Instacart · 2020 Nâng cao

Creating a Logical Replica from a Snapshot in RDS Postgres

Instacart cần bật mã hoá at-rest cho các DB RDS Postgres có sẵn (cỡ vài TB). Quy trình AWS khuyên: tắt DB, snapshot, mã hoá snapshot, restore: nhiều giờ downtime, trong khi cửa sổ trống chỉ khoảng 2 giờ (giữa chuyến…

Bài tóm tắt · LinkedIn · 2020 Nâng cao

LIquid: The soul of a new graph database, Part 1

Theo LinkedIn, giá trị của đồ thị nằm chủ yếu ở mạng cấp 2: bạn của bạn, thường ít nhất 50.000 entity (người, trường, công ty). Mạng cấp 1 (vài trăm kết nối) để trong bảng hay KV là đủ; mạng cấp 3 quá lớn và khó hành…

Bài tóm tắt · LinkedIn · 2020 Nâng cao

LIquid: The soul of a new graph database, Part 2

Đồ thị biểu diễn bằng một bảng cạnh (adjacency list) là đúng mô hình quan hệ: không NULL, dạng chuẩn 5, dễ chuyển dữ liệu. Nhưng DB quan hệ truyền thống chạy rất tệ với schema này, và SQL khó dùng để dựng ứng dụng.

Bài tóm tắt · Quora · 2020 Nâng cao

MySQL sharding at Quora

MySQL giữ câu hỏi, câu trả lời, upvote, comment: hàng chục TB (chưa kể replica), hàng trăm nghìn QPS; thêm Memcache và Redis cho đọc. Dữ liệu và QPS ghi tăng nên phải shard.

Bài tóm tắt · Slack · 2020 Nâng cao

Scaling Datastores at Slack with Vitess

Slack bắt đầu bằng LAMP. Mọi dữ liệu trên MySQL, gồm ba loại cluster:

Bài tóm tắt · Wix · 2020 Nâng cao

6 Event-Driven Architecture Patterns — Part 2

Ba mẫu tiếp theo của team data-streams (Kafka cho hơn 1.400 microservice), dựng trên thư viện consumer Greyhound do Wix tự viết và mở mã nguồn.

Bài tóm tắt · Yelp · 2020 Nâng cao

Orchestrating Cassandra on Kubernetes with Operators

Cassandra ở Yelp dùng cho cả dữ liệu chính lẫn dữ liệu dẫn xuất; mỗi cụm production trải nhiều region AWS, chạy trên EC2 + ASG, dữ liệu trên EBS (backup bằng snapshot), seed provider dựa trên synapse.

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 mạng chắc chắn có lúc timeout.

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 · 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 · 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 · 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 đồng bộ: 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 · Tinder · 2019 Nâng cao

Geosharded Recommendations Part 3: Consistency

Sau khi shard theo địa lý, có hai kho dữ liệu phải khớp nhau:

Bài tóm tắt · V8 (Google) · 2019 Nâng cao

The story of a V8 performance cliff in React

V8 không lưu số JavaScript (Float64 theo spec) theo một cách cố định: số nguyên 31 bit có dấu là Smi, số khác là HeapNumber. Mỗi trường của object được đánh dấu "representation" trên shape (hidden class): Smi, Double…

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

Meet Bandaid, the Dropbox service proxy

Bandaid bắt đầu là reverse proxy bù cho điểm yếu của các service phía server, rồi thành service proxy giúp Dropbox chuyển sang SOA. Viết bằng Go như phần lớn hạ tầng lõi; hỗ trợ TLS termination, HTTP/2, gRPC, service…

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

Rethinking Netflix's Edge Load Balancing

Cloud Gateway (Zuul) nhận hơn 1 triệu request/giây (2018). Zuul dùng Ribbon round-robin + loại server có tỉ lệ lỗi kết nối cao, kèm vài tuỳ biến bớt traffic cho server mới khởi động; một số cụm origin vẫn có lỗi do quá…

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

Scaling Time Series Data Storage — Part II

1/2016 Netflix mở ra 130 nước, 20 ngôn ngữ; cuối 2016 thêm video preview khi duyệt trên TV. Kiến trúc phần 1 coi mọi dữ liệu xem như nhau.

Bài tóm tắt · Pinterest · 2018 Nâng cao

Building a dynamic and responsive Pinterest

2015: phần lớn nội dung được sinh sẵn cho user trước khi họ đăng nhập, lưu tĩnh trong HBase. Kiến trúc này đưa Pinterest tới 100 triệu MAU.

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

Infrastructure update: evolution of the Dropbox backbone network

Đưa hàng trăm PB dữ liệu về data center riêng () trong khi user vẫn tăng đòi hỏi mạng phải lớn nhanh. Họ xây song song một edge network toàn cầu và một backbone nối các data center ở Bắc Mỹ với nhau và với các edge…

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 · 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ụ độ trễ ms cho traffic site, nhận cập nhật realtime từ…

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 · Instagram · 2015 Nâng cao

Instagration Pt. 2: Scaling our infrastructure to multiple data centers

2013, khoảng một năm sau khi về Facebook: 200 triệu user/tháng, 20 tỷ ảnh. Họ bắt đầu "Instagration", chuyển từ AWS sang hạ tầng Facebook.

Bài tóm tắt · Riot Games · 2015 Nâng cao

Chat Service Architecture: Servers

Chat LoL (2015): mỗi ngày thường định tuyến khoảng 1 tỷ event (presence, message, IQ) và hàng triệu REST query; một ngày tháng 7 có 1,7 triệu lượt kết bạn mới.