Lập trình 30/10/2026 7 phút

Replication đo thật: một thay đổi trên primary tới replica sau 59 ms qua binlog, replica được super_read_only chặn cả ghi của root (lỗi 1290), và khi luồng áp dụng bị dừng replica tụt lại 20.000 dòng rồi bắt kịp trong 1,6 giây

Phần 11 sê-ri MySQL và InnoDB: replication nhân bản dữ liệu từ một primary sang replica qua binary log, bất đồng bộ. Đo thật trong mysql:8 với hai container và GTID: một INSERT trên primary xuất hiện trên replica sau 59 ms (binlog phát sang relay log rồi áp dụng). Replica bật super_read_only chặn cả ghi của root với lỗi 1290 để không phân kỳ dữ liệu. Vì bất đồng bộ, replica có thể tụt lại: dừng luồng SQL áp dụng rồi ghi 20.000 dòng vào primary thì replica trễ đúng 20.000 dòng, bật lại thì replica replay relay log và bắt kịp trong 1,6 giây.

Lập trình 27/10/2026 7 phút

Redo log đo thật: với innodb_flush_log_at_trx_commit=1, mười nghìn commit gọi fsync 10.209 lần (7.680 commit/s); đổi sang 2 chỉ còn 4 lần fsync và nhanh hơn, còn group commit gộp commit đồng thời xuống 3.688 lần fsync cho gấp đôi throughput vẫn bền

Phần 8 sê-ri MySQL và InnoDB: redo log cho giao dịch commit xong là bền dù máy tắt đột ngột, và innodb_flush_log_at_trx_commit quyết định đánh đổi giữa độ bền và throughput. Đo thật trong mysql:8 bằng số lần gọi fsync (Innodb_os_log_fsyncs): mười nghìn commit riêng lẻ ở mức 1 gọi fsync 10.209 lần (7.680 commit/s, bền từng commit), ở mức 2 chỉ 4 lần (10.384 commit/s), ở mức 0 chỉ 1 lần (17.889 commit/s). Group commit gộp các commit đồng thời: cùng mức 1, chạy qua 8 kết nối song song thì mười nghìn commit chỉ cần 3.688 lần fsync và đạt 17.990 commit/s — gấp đôi mà độ bền không đổi.

Lập trình Go 22/09/2026 10 phút

Circuit breaker trong Go: tự ngắt lời gọi tới service đang chết, tránh sập dây chuyền

Circuit breaker theo dõi lỗi và tự ngắt lời gọi tới service đang hỏng để không dồn tải. Đo thật trong Go 1.23: ba trạng thái Closed/Open/HalfOpen chuyển đúng, và khi breaker mở nó chặn nhanh trong 107 nano giây thay vì chờ 55ms timeout của service chết.

Lập trình Go 22/09/2026 10 phút

Retry với exponential backoff và jitter trong Go: thử lại thông minh, tránh thundering herd

Retry lỗi tạm thời cần backoff tăng dần và jitter ngẫu nhiên để không dồn tải service vừa hồi. Đo thật trong Go 1.23: backoff nhân đôi 100ms tới trần 2s, jitter rải 10 client khắp 64-648ms thay vì cùng bật dậy một lúc, và vòng retry thành công sau 2 lỗi.