#Distributed Systems

Grokking: Linearizability, mức nhất quán mạnh nhất trong hệ phân tán
Grokking

Linearizability, mức nhất quán mạnh nhất trong hệ phân tán

Linearizability là mức nhất quán khắt khe nhất trong hệ phân tán: mọi thao tác phải trông như xảy ra tức thời đúng theo thứ tự thời gian thực. Bài viết giải thích điểm tuyến tính hóa, ví dụ compare-and-swap, cái giá phải trả và cách Jepsen kiểm định các hệ thống thực tế.

Grokking

Idempotency trong hệ phân tán, gửi lại message mà không sợ xử lý hai lần

Grokking

Bẻ khóa quorum Byzantine, đồng thuận khi không tin ai

Grokking

Eventual consistency, tại sao dữ liệu tạm sai mà hệ thống vẫn đúng?

Grokking

Gossip protocol lan truyền thông tin trong hệ phân tán bằng cách nào?

Grokking: Leader election, bài toán chọn một node duy nhất làm chủ
Grokking

Leader election, bài toán chọn một node duy nhất làm chủ

Tìm hiểu bài toán leader election trong hệ thống phân tán: từ bully algorithm, ring election đến lease-based leadership, cùng cách fencing token ngăn chặn split-brain.

Grokking: Database sharding, nghệ thuật chia nhỏ để mở rộng vô hạn
Grokking

Database sharding, nghệ thuật chia nhỏ để mở rộng vô hạn

Sharding là kỹ thuật chia cơ sở dữ liệu thành nhiều phần nhỏ trên các máy chủ khác nhau, giúp hệ thống mở rộng theo chiều ngang khi dữ liệu lên đến hàng tỷ bản ghi.

Grokking

Raft log compaction nén log bằng snapshot để tiết kiệm bộ nhớ?

6
Grokking

Quorum read/write, khi đa số node quyết định đúng sai?

Grokking

LSM-Tree hoạt động thế nào, từ memtable đến compaction?

Grokking: Two-Phase Commit đảm bảo giao dịch phân tán toàn vẹn bằng cách nào?
Grokking

Two-Phase Commit đảm bảo giao dịch phân tán toàn vẹn bằng cách nào?

Two-Phase Commit (2PC) là giao thức phân tán đảm bảo tính toàn vẹn dữ liệu qua hai pha: Prepare (lấy xác nhận từ tất cả các bên) và Commit (thực thi chỉ khi mọi bên đồng ý).

Grokking: Consistent hashing phân phối dữ liệu đều trên cụm máy chủ
Grokking

Consistent hashing phân phối dữ liệu đều trên cụm máy chủ

Hãy tưởng tượng bạn có 4 server lưu cache, và bạn dùng phép chia dư (modulo) để quyết định key nào đi server nào: key % 4. Mọi thứ chạy tốt cho đến kh...