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 · Rust · 2020 Dễ

Rust's CI is moving to GitHub Actions

Rust muốn master luôn xanh, nên test và merge từng PR một: các PR đã duyệt xếp hàng trong bors. CI rộng: 57 máy build và test compiler trên mọi nền tảng hỗ trợ; trên hệ cũ (Azure Pipelines, VM 2 core) mỗi builder mất…

Bài tóm tắt · Shopify · 2020 Trung bình

Under Deconstruction: The State of Shopify's Monolith

18 tháng sau . Monolith chính có 2,8 triệu dòng Ruby, 500.000 commit, phát triển liên tục từ 2006, hàng trăm developer đang thêm tính năng.

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 · Stack Overflow · 2020 Dễ

How Does Spam Protection Work on Stack Exchange?

"Đặt một ô nhập liệu lên Internet thì sẽ có người nhét spam vào." Một network có hàng triệu lượt truy cập mỗi ngày và rất nhiều ô nhập liệu cần chống spam ở nhiều lớp, mỗi lớp của đường đi request (CDN → load balancer →…

Bài tóm tắt · Stack Overflow · 2020 Dễ

How we built it: our new Articles feature for Stack Overflow for Teams

Articles là loại nội dung dài mới trong Stack Overflow for Teams; phải hiện cùng câu hỏi/trả lời trong search, profile, thông báo theo tag, có vote và comment. Mỗi article có một "loại" (Knowledge Article, Announcement,…

Bài tóm tắt · Tinder · 2020 Trung bình

Phoenix — Tinder's Testing Platform, Part III (Metrics System)

Sản phẩm rộng và đổi nhanh, mỗi thành phần hành xử khác nhau theo vùng; muốn biết "sức khoẻ" cần nhiều chiều metric, và muốn tiến hoá nhanh thì phải thử nhiều và nhanh.

Bài tóm tắt · Tinder · 2020 Trung bình

The Ultimate Load Test

Swipe Night (video tương tác) ra mắt ở Mỹ tối Chủ nhật 6/10/2019, chỉ trong khung 18h–24h. Thường Tinder rollout dần từ thị trường nhỏ, nhưng lần này phải bí mật và mở cho tất cả cùng lúc.

Bài tóm tắt · Trendyol · 2020 Dễ

Acceptance Tests On CI Pipeline

Team test tính năng theo sprint rồi mới đưa lên production, nhưng việc giao hàng hay trễ vì lỗi do môi trường (môi trường test dùng chung, dependency thật), làm tăng Lead Time (một trong bốn chỉ số của sách Accelerate).

Bài tóm tắt · Uber · 2020 Trung bình

Introducing Domain-Oriented Microservice Architecture

Uber có khoảng 2.200 microservice quan trọng (2020).

Bài tóm tắt · Vercel · 2020 Dễ

Incrementally Adopting Next.js

Codebase frontend nhiều năm tuổi mà viết lại hết tốn nhiều năm. Bài đề xuất đưa Next.js vào từng phần.

Bài tóm tắt · Vercel · 2020 Trung bình

Next.js 9.5

ISR ổn định: trang tĩnh được dựng lại ở nền khi có traffic, theo kiểu stale-while-revalidate: người dùng luôn nhận bản tĩnh đang có, bản mới chỉ thay vào sau khi dựng xong. Cùng với fallback: true (thêm trang tĩnh lúc…

Bài tóm tắt · Walmart · 2020 Trung bình

Retail Graph — Walmart's Product Knowledge Graph

Catalog thương mại điện tử lấy dữ liệu từ seller và nhà cung cấp; dữ liệu hay thiếu, đôi khi sai, và không có một nguồn sự thật duy nhất. Thông tin hữu ích nằm lẫn trong tiêu đề và mô tả.

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

6 Event-Driven Architecture Patterns — Part 1

Team data-streams của Wix lo hạ tầng event-driven trên Kafka cho hơn 1.400 microservice (2020). Bài là ba mẫu dùng thực tế ở Wix, mỗi mẫu một use case.

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 · Wix · 2020 Trung bình

Making Order in CI/CD Mess

Khoảng 2011 (bài nói "9 năm trước"), Wix có 5 monolith backend, một project Flash và khoảng 50 developer; cả 5 monolith build trên một server TeamCity. Deploy là thủ công: tải artifact từ TeamCity, FTP lên production,…

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 cluster 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 · Zerodha · 2020 Trung bình

A lesson in creating and using niche business DSLs at scale

Mỗi lệnh đặt vào OMS (Order Management System) phải qua nhiều kiểm tra nghiệp vụ tốn CPU, và lệnh sau phải chờ lệnh trước. Để giảm latency, Zerodha tách một phần kiểm tra ra một thành phần đứng trước tên là Veto: một…

Bài tóm tắt · Zerodha · 2020 Trung bình

Infrastructure monitoring with Prometheus

Năm 2020 Zerodha xử lý khoảng 15% khối lượng giao dịch bán lẻ hằng ngày trên các sàn ở Ấn Độ; tự host gần như mọi phụ thuộc (CRM, database lớn, Kafka, mail server).

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

Building a Data Streaming Platform

Ba cách đưa dữ liệu vào data lake S3 trước đó, đều có vấn đề:

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

On-Device Stitching with Zillow 3D Home

App Zillow 3D Home (iPhone, ra 10/2017) chụp tour ảnh 360° bằng cách người dùng xoay tại chỗ. Bản đầu chụp 180 frame và gửi 70 MB trở lên mỗi panorama lên cloud để ghép.

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

How to Pitch Apache Kafka

Zillow chạy trên AWS và dùng SQS, SNS, Kinesis. Theo tác giả, lý lẽ "Kafka throughput tốt hơn" không thuyết phục được lãnh đạo; ở công ty trước, chính ông từ chối Kafka vì không thấy ROI của việc thêm người vận hành.

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

ML Model Deployment for Zillow Floor Plans with SageMaker

Zillow Floor Plan: model phát hiện cửa sổ, cửa ra vào, lối mở trong ảnh panorama của tour 3D để tự động hoá việc vẽ sơ đồ nhà. Cần hạ tầng deploy và phục vụ model dễ tích hợp, tin cậy, dễ thêm model, dùng lại được cho…

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

How Zillow Tests Clickstream Analytics

Event analytics (page view, sự kiện) do dev gắn vào trang, gửi Google Analytics, rồi được kéo từ BigTable về data lake (bảng Hive). Zillow chưa có schema chung cho event.

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

Dynein: Building a Distributed Delayed Job Queueing System

Job nền ở Airbnb gồm cả job hẹn giờ xa (nhắc check-in trước nhiều tháng, thậm chí nhiều năm). Yêu cầu: at-least-once, scale ngang, cô lập theo service, p95 lệch giờ dưới 10 giây, ack từng message, dead letter queue, mỗi…