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 đó.
How we built the Internal Data Warehouse at ClickHouse
ClickHouse Cloud ra private preview 5/2022. Lúc đầu VP Product phân tích workload khách hàng bằng Excel, tra cứu tay mỗi ngày. Từ đó có DWH nội bộ đầu tiên.
Deno KV internals: building a database for the modern web
Deno Deploy chạy code ở nhiều region. Theo Deno, khách hàng nói: compute phân tán mà dữ liệu không phân tán thì mất lợi ích về latency.
Announcing Deno Queues
Deno KV (beta, xây trên FoundationDB) ra mắt vài tháng trước. Queues là primitive thứ hai: đẩy việc ra chạy nền hoặc hẹn giờ, không phải dựng hạ tầng queue riêng.
August 22nd, 2023 Deno Deploy Post-mortem
deno.com và deno.land chạy trên chính Deno Deploy. deno.land/x (registry module bên thứ ba) và deno.land/std (thư viện chuẩn) cũng do website này phục vụ.
Maxjourney: Pushing Discord's Limits with a Million+ Online Users in a Single Server
Mỗi server (guild) là một process Elixir làm điểm định tuyến trung tâm; mỗi client kết nối là một process session. Guild fan-out mọi hành động tới session, session đẩy qua websocket.
25% or 6 to 4: The 11/6/23 Authentication Outage
Cluster ScyllaDB scylla-authentication giữ session người dùng, đứng sau service xác thực viết bằng Rust; mọi request API đều qua đây. Topology chuẩn của Discord: "super-disk" RAID gương giữa NVMe local SSD (mất khi…
How Discord Stores Trillions of Messages
Tiếp nối . Cluster cassandra-messages tăng từ 12 node (2017) lên 177 node, hàng nghìn tỷ tin nhắn (đầu 2022).
After four years of SMR storage, here's what we love and what comes next
Theo Dropbox, năm 2018 họ là công ty công nghệ lớn đầu tiên dùng ổ SMR mật độ cao.
Lessons learned: Using a cybersecurity vendor to check for malicious links
Dropbox dùng nhà cung cấp bảo mật bên thứ ba để kiểm virus, malware, phishing; một vendor kiểm các URL nhúng trong tài liệu chia sẻ qua Dropbox và tải lên DocSend.
Similarity Engine at eBay
eBay (12/2022) có khoảng 134 triệu người dùng và 1,7 tỉ listing đang hoạt động. Tìm kiếm theo từ khoá vấp từ đồng âm, query long tail, ý định người dùng; team CoreAI dựng một engine ANN để tìm listing giống nhau theo…
How to debug large db size issue?
Dung lượng DB của etcd có quota (--quota-backend-bytes), mặc định 2 GB, khuyến nghị tối đa 8 GB. Vượt quota thì mọi lệnh ghi lỗi mvcc: database space exceeded và cluster bật alarm NOSPACE, endpoint báo không khoẻ.
Scaling Etsy Payments with Vitess: Part 1 – The Data Model
Cuối 2020, hai database thanh toán đã ở cấu hình máy cao nhất của Google Cloud, không scale dọc được nữa; tăng đột biến có thể gây chậm hoặc mất giao dịch.
Scaling Etsy Payments with Vitess: Part 2 – The "Seamless" Migration
Dữ liệu thanh toán phải chia lại vào 40 shard mới, kiểm đủ, rồi chuyển đọc/ghi khỏi DB production đang chạy, trên đường thanh toán của cả Etsy.com.
Scaling Etsy Payments with Vitess: Part 3 – Reducing Cutover Risk
Tác giả ở đội Data Access Platform (giữ ORM nội bộ của Etsy; đã upstream hơn 30 patch vào Vitess và giữ một fork nội bộ). Vai trò: đảm bảo query do ORM sinh ra tương thích vindex và cấu hình Vitess giữ đúng đảm bảo dữ…
The growing pains of database architecture
2020: thêm tính năng, chuẩn bị ra sản phẩm thứ hai, user tăng. Traffic DB tăng khoảng 3 lần mỗi năm.
Introducing Fly Kubernetes
Fly.io chạy container dưới dạng microVM (Firecracker) trên máy tự đặt ở hàng chục region. Lúc đầu dùng Nomad, kèm proxy Anycast tự viết bằng Rust và private network WireGuard/IPv6 trên eBPF.
Carving The Scheduler Out Of Our Orchestrator
Orchestrator về bản chất là supervisor có API: worker nhận việc, chạy, báo lại. Phần được coi là khó là scheduling (chọn worker). Mọi orchestrator phổ biến dùng scheduler tập trung, như bộ cấp phát bộ nhớ, với bức tranh…
How GitHub Docs' new search works
Search của docs.github.com trước đây là index trong bộ nhớ của tiến trình Node.js (Express): cào hết văn bản (tiêu đề, heading, breadcrumb, nội dung), lưu ngay trong repo Git, sinh sẵn index serialize trên đĩa để nạp…
Structured Logging with slog
Log là nơi đầu tiên người ta tìm khi debug server, nên log nhiều và phải lọc, tìm nhanh. Log có cấu trúc (cặp key-value) phân tích được tin cậy hơn log chữ.
SecDb Observability Journey
SecDb: nền tảng giao dịch, định giá, quản trị rủi ro của Goldman Sachs, dùng liên tục hơn 30 năm bởi hơn 3.000 developer: hơn 200 triệu dòng code Slang (ngôn ngữ riêng), hơn 160 triệu job mỗi ngày, hơn 13.000 người dùng…
How we improved our iOS CI infrastructure with observability tools
Nâng lên Xcode 13.1 (4/2022) làm UITest trên CI của app iOS (superapp, nhiều team cùng mở merge request mỗi ngày) mất ổn định. Grab gắn công cụ quan sát vào toàn bộ quy trình UITest để thấy từ đầu tới cuối job.
Billing and Payment Platform
Hơn 30 triệu người dùng mỗi ngày (2023), gói Free/Premium/Business; nhiều tiền tệ địa phương (USD, EUR, GBP, INR), nhiều phương thức thanh toán, tích hợp nhiều PSP và orchestrator để giữ tỉ lệ duyệt giao dịch cao.
Building a Dependency Graph of Our Python Codebase
Trong khoảng năm năm, codebase Python hướng nghiên cứu của HRT lớn theo cấp số nhân lên hàng triệu dòng: văn hoá "đủ tốt hơn hoàn hảo", chia sẻ code giữa team, giai đoạn tăng trưởng nhanh.
Modeling Equities Returns: The Linear Case
Ở HRT nhiều team giao dịch tự duy trì model để hiểu rủi ro và hiệu quả của danh mục. Bài giới thiệu factor model: lợi suất của nhiều tài sản được giải thích bằng ít "nhân tố" chung.