Fencing Tokens: Vì Sao Khóa Phân Tán TTL Vẫn Gây Ghi Đè Dữ Liệu
Distributed lock dùng TTL không thể ngăn race condition khi tiến trình bị dừng đột ngột. Tìm hiểu cách fencing token bảo vệ dữ liệu.
Chủ đề
Một tuyển tập để khám phá, từng ý tưởng một.
Distributed lock dùng TTL không thể ngăn race condition khi tiến trình bị dừng đột ngột. Tìm hiểu cách fencing token bảo vệ dữ liệu.
Cách kỹ thuật gom nhóm request (singleflight) gộp các cache miss đồng thời thành một truy vấn duy nhất, bảo vệ database khỏi thảm họa quá tải.
Hiểu rõ cơ chế B-tree index, hiện tượng phân mảnh và lý do UUIDv7 giúp tối ưu hiệu năng ghi cơ sở dữ liệu phân tán mà không làm lộ ID tuần tự.
Tận dụng mệnh đề FOR UPDATE SKIP LOCKED trong PostgreSQL để xây dựng hàng đợi xử lý tác vụ ngầm an toàn, song song và không phát sinh hạ tầng.
Thời gian thực thi trong PostgreSQL có thể đánh lừa bạn do bộ nhớ đệm. Đây là lý do chỉ số buffer mới phản ánh chính xác chi phí I/O.
Cách xây dựng cơ chế idempotency cho API với khóa nguyên tử, lưu vết response và băm payload để loại bỏ hoàn toàn lỗi duplicate data.
Trước khi dựng Redis hay RabbitMQ cho task ngầm, hãy tận dụng FOR UPDATE SKIP LOCKED trong Postgres để có job queue chuẩn ACID mà không thêm hạ tầng.
Tìm hiểu lý do connection pool quá lớn làm chậm database và cách tính toán dung lượng connection pool chuẩn xác cho ứng dụng backend.
Tìm hiểu cách phòng chống cache stampede và thundering herd bằng mutex lock, stale-while-revalidate và XFetch giúp bảo vệ database an toàn.