Blog
Nơi mình chia sẻ nhật ký và những câu chuyện nhỏ trong hành trình làm nghề.
Transaction Isolation — 4 mức cô lập trong PostgreSQL, chọn sao cho đúng?
Hiểu 3 mức cô lập giao dịch trong PostgreSQL: Read Committed, Repeatable Read, Serializable — chọn đúng để khỏi ghi sai dữ liệu.
Goroutine Leak trong Go — Leak chỗ nào, chữa bằng gì
Goroutine rẻ nhưng không miễn phí. Bài này chỉ chỗ Goroutine leak thường gặp và cách bắt bằng runtime.NumGoroutine + pprof.
Outbox Pattern — Ghi DB rồi publish event, không lo mất
Outbox Pattern giải bài toán dual-write: ghi DB vừa publish event vừa an toàn, không mất mát. Có code Go và relay thực chiến.
Cache-Aside: Vì sao bọc Redis ngoài DB vẫn có thể chậm
Cache-aside tưởng đơn giản mà dính Cache Stampede, thiếu TTL jitter, ghi nhầm thứ tự. 3 cái bẫy làm chậm hệ thống dù đã bọc Redis.