Unix Philosophy & MapReduce — Xử Lý Batch Trong Hệ Phân Tán (DDIA)
Unix pipes là nguồn cảm hứng cho MapReduce — cách các hệ thống batch processing xử lý dữ liệu quy mô lớn với triết lý đơn giản
THE ENGINEERING JOURNAL
Các bài viết về system-design.
Unix pipes là nguồn cảm hứng cho MapReduce — cách các hệ thống batch processing xử lý dữ liệu quy mô lớn với triết lý đơn giản
Giới thiệu microservices: định nghĩa, key concepts, so sánh với monolith, pain points và khi nào nên dùng từ cuốn Building Microservices.
Khám phá các cơ chế ordering guarantees và consensus trong distributed systems: total order broadcast, 2PC, Raft consensus algorithm, và ZooKeeper.
Linearizability là mô hình consistency mạnh nhất trong distributed systems. Tìm hiểu cách nó hoạt động, khi nào cần, và cái giá phải trả.
Khám phá vấn đề đồng hồ không đáng tin và Byzantine faults trong distributed systems — hai thử thách lớn khi xây dựng hệ thống phân tán
Chương 8 DDIA phân tích bản chất của partial failure trong distributed systems — từ network faults, timeouts đến cách thiết kế hệ thống chịu lỗi.
So sánh Two-Phase Locking (pessimistic) và Serializable Snapshot Isolation (optimistic) — hai cơ chế đạt Serializable isolation trong cơ sở dữ liệu phân tán.
Tìm hiểu ACID và weak isolation levels — Read Committed, Snapshot Isolation — trong cơ sở dữ liệu quan hệ.
Tìm hiểu Circuit Breaker pattern — cách ngăn chặn cascade failure trong microservices với code Go thực tế.
Rebalance partition khi thêm/bớt node: consistent hashing, dynamic partitioning, fixed partitions và request routing trong distributed systems.