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ề.
OOMKilled — Pod bị kill dù RAM còn thừa
Pod bị OOMKilled dù node còn dư RAM? Hiểu request vs limit, cgroup v2, GOMEMLIMIT và cách debug exit code 137 trong Kubernetes.
Message Queue: Nạp task vào hàng đợi, worker xử lý nền mau lẹ
Đừng làm việc nặng ngay trong request HTTP. Bài này nói cách đẩy task vào hàng đợi, worker xử lý nền kèm retry + dead-letter queue bằng Go.
Redis làm khóa phân tán — đừng tưởng SETNX xong là xong
SETNX tưởng đủ để làm distributed lock nhưng giấu cả đống bẫy: key hết hạn, unlock nhầm, gặp critical section lâu. Đây là cách làm cho đúng.
Distributed Tracing — rượt tìm lỗi chậm trong hệ thống microservice
OpenTelemetry giúp xâu chuỗi request qua nhiều service để tìm đúng nút thắt cổ chai thay vì đoán mò.