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. 157 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 · Zalando · 2016 Cơ bản

Integrated Commerce and our Merchant Center rebuild

Zalando muốn bán được mọi món hàng thời trang "có ở đâu đó": nối kho e-commerce của thương hiệu/nhà bán lẻ khác và kho của cửa hàng truyền thống (số hoá tồn kho, hiển thị online, tính tới nhận hàng tại cửa hàng).

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

Migrating HotPads to an Isomorphic Stack with React

HotPads (thương hiệu thuê nhà của Zillow Group): sau 10 năm, front-end là JSP + jQuery + RequireJS + CSS toàn cục, dính chặt vào back-end monolith. Dev front-end mới phải học cả codebase lớn; mỗi nội dung động qua AJAX…

Bài tóm tắt · Zillow · 2016 Cơ bản

Zillow Transitions to Streaming Data Architecture

Team data science & engineering của Zillow nhận dữ liệu bất động sản liên tục từ hồ sơ công, feed của user/agent, Multiple Listing Services. Trước đây dữ liệu nằm trong SQL Server và xử lý bằng kỹ thuật cache tự làm.

Bài tóm tắt · Zomato · 2016 Dễ

How we moved our Food Feed from Redis to Cassandra

Food Feed là một phần của social graph: review, ảnh của bạn bè, ưu đãi từ nhà hàng đã lưu. Ban đầu chạy trên Redis, theo Zomato là lựa chọn tốt nhất lúc đó.

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

How We Partitioned Airbnb's Main Database in Two Weeks

Trước mùa du lịch hè 2015, DB MySQL chính (trên RDS, còn từ thời Airbnb là một app Rails) phải giảm tải. Airbnb chọn tách dọc theo chức năng thay vì shard ngang (theo bài, đồng ý với Asana và Percona rằng shard ngang là…

Bài tóm tắt · Algolia · 2015 Cơ bản

DNS fallback for better resilience

Algolia (search-as-a-service) đặt mục tiêu kiến trúc 99,9999%: mọi thành phần phải hỏng được mà không ảnh hưởng dịch vụ.

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

Zero-downtime Postgres migrations - the hard parts

GoCardless là công ty thanh toán: API ngừng nhận request thì merchant mất tiền. DB không được ngừng trả lời quá 1–2 giây.

Bài tóm tắt · Medium · 2015 Cơ bản

How Medium Detects Hotspots in DynamoDB using ElasticSearch, Logstash and Kibana

Kho phân tán scale ngang bằng cách chia dữ liệu cho nhiều server; chỉ được lợi khi truy cập đều. Ví dụ của bài: 26 server theo chữ cái đầu của họ, nếu 99% request hỏi "John Doe" thì throughput thực vẫn chỉ bằng một…

Bài tóm tắt · Pinterest · 2015 Trung bình

Sharding Pinterest: How we scaled our MySQL fleet

2011 Pinterest tăng trưởng cực nhanh; khoảng 9/2011 mọi tầng hạ tầng quá tải, vài hệ NoSQL "đều hỏng nặng", còn đọc từ nhiều MySQL slave gây bug khó chịu (nhất là với cache). Năm 2015: hơn 50 tỉ Pin trên 1 tỉ board.

Bài tóm tắt · Pinterest · 2015 Cơ bản

Learn to stop using shiny new things and love MySQL

Sau khoảng một năm scale gấp, Pinterest chạy cùng lúc MySQL, Memcache, MongoDB, Redis, Cassandra, Membase và Elasticsearch; theo tác giả, "mọi thứ đều cháy theo cách riêng". Các công ty database mới chào mời giải quyết…

Bài tóm tắt · Uber · 2015 Dễ

Service-Oriented Architecture: Scaling the Uber Engineering Codebase As We Grow

Uber bắt đầu bằng một monolith cho một sản phẩm (UberBLACK) ở một thành phố (San Francisco). Lúc đầu để mọi logic một chỗ là hợp lý.

Bài tóm tắt · Wix · 2015 Trung bình

Scaling to 100M: MySQL is a Better NoSQL

Mỗi request tới một site Wix (domain riêng hoặc subdomain) phải phân giải URL → site: một phép tra key/value.

Bài tóm tắt · Wix · 2015 Trung bình

Building and Open-Sourcing Wix's A/B Testing System

Wix làm continuous delivery: code đẩy lên là chạy production. Theo Wix, vì code tồi cũng lên production ngay, một hệ thống experiment (A/B test và feature toggle) là điều kiện cần của CD: đánh dấu code là thử nghiệm,…

Bài tóm tắt · Zillow · 2015 Dễ

Improving Homepage Performance

Làm lại trang chủ Zillow (2015, do một thực tập sinh làm). Chỉ số hiệu năng chọn theo cảm nhận: một mốc User Timing khi ảnh hero vẽ xong.

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

Image Processing at Zillow: Out with the Old and In with the AWS

Zillow xử lý hơn 3 triệu ảnh mới mỗi ngày (2015): ảnh listing, ảnh hồ sơ, ảnh Zillow Digs; một phần upload tay, phần lớn đến theo feed hàng loạt từ hàng trăm nguồn, dồn cục trong ngày.

Bài tóm tắt · Zillow · 2015 Dễ

Bigger, Faster, and More Engaging while on a Budget

Công cụ hiệu năng web của Zillow năm 2015: RUM tự làm đưa vào Splunk, một WebPageTest nội bộ chạy hằng ngày trên môi trường test, và thêm SpeedCurve.

Bài tóm tắt · Booking.com · 2014 Nâng cao

Better Crash-safe replication for MySQL

Booking.com (2014) dùng replication MySQL để scale đọc, với hàng nghìn slave; số lượng đó nghĩa là sớm muộn sẽ có slave chết.

Bài tóm tắt · Jane Street · 2014 Trung bình

Making "never break the build" scale

"Not Rocket Science Rule" (Graydon Hoare): repo chính không bao giờ có bản fail test. Cách làm ngây thơ là build-bot nhận từng pull request, merge với tip, build và chạy toàn bộ test, đạt thì mới thành tip mới. Jane…

Bài tóm tắt · Pinterest · 2014 Trung bình

Behind the Pins: Building Analytics

8/2014 Pinterest ra bản 2 của công cụ analytics cho doanh nghiệp (analytics theo domain, profile, audience; phân theo quốc gia, ứng dụng; impression, click, repin).

Bài tóm tắt · SoundCloud · 2014 Khó

Roshi: a CRDT system for timestamped events

Stream của SoundCloud: các event (thời điểm, ai làm, làm gì) từ những người mình follow, xếp mới nhất trước.

Bài tóm tắt · Twilio · 2014 Trung bình

How We Replaced Our Data Pipeline With Zero Downtime

Mỗi cuộc gọi hay tin nhắn đi qua các trạng thái in-flight (đổ chuông, đang gọi, xếp hàng), rồi thành bản ghi post-flight để lưu lâu dài và phân tích. Trước đây cả hai nằm chung một cụm MySQL.

Bài tóm tắt · WhatsApp · 2014 Khó

The WhatsApp Architecture Facebook Bought For $19 Billion

450 triệu user hoạt động, hơn 1 triệu đăng ký mỗi ngày, 50 tỉ tin nhắn/ngày (vào + ra), với 32 kỹ sư (một kỹ sư trên 14 triệu user). Hàng trăm node, hơn 8.000 core, hàng trăm TB RAM, hơn 70 triệu message Erlang mỗi giây.

Bài tóm tắt · Go · 2013 Nâng cao

Inside the Go Playground

Playground (9/2010) cho chạy chương trình Go bất kỳ từ trình duyệt, dùng trong tài liệu, tour, slide. Ba phần: backend trên máy của Google (compile + chạy, trả output qua RPC), frontend trên App Engine (nhận HTTP, gọi…

Bài tóm tắt · Instagram · 2013 Trung bình

Handling Growth with Postgres: 5 Tips From Instagram

Postgres vẫn là kho dữ liệu chuẩn (canonical) cho phần lớn dữ liệu user. Từ 90 like/giây (bài sharding năm 2011, ) lên hơn 10.000 like/giây lúc cao điểm (đầu 2013) mà công nghệ lưu trữ lõi không đổi.