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

Metrics với Prometheus client trong Go: counter, gauge, histogram và chi phí đo

Trace chẩn đoán một request; metrics trả lời hệ thống có khỏe không. Bài mổ xẻ ba loại metric Prometheus trong Go, vì sao histogram hơn hẳn trung bình, và đo thật chi phí: mọi thao tác 0 cấp phát, nhưng WithLabelValues tra cứu nhãn tốn 24 ns mỗi lần — cache handle về 1.7 ns.

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

Distributed lock với Redis trong Go: SET NX PX và Lua unlock an toàn

Mutex chỉ khóa trong một tiến trình. Khi nhiều máy chủ tranh một tài nguyên, cần khóa ngoài tiến trình. Bài dựng distributed lock bằng Redis trong Go: SET NX PX để lấy, Lua so sánh-rồi-xóa để trả an toàn. Đo thật: loại trừ đúng 1 người, 50 goroutine đỉnh critical section = 1, và những cái bẫy.

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

Idempotency key trong Go: đảm bảo một thao tác chỉ thực thi đúng một lần

Retry ở bài trước chỉ an toàn khi thao tác lũy đẳng. Idempotency key là cách biến thao tác có side effect thành lũy đẳng: client sinh khóa duy nhất, server dedup. Đo thật trong Go: không idempotency retry 5 lần tạo 5 đơn; có thì chỉ 1, kể cả 100 goroutine đồng thời.

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

DDD tactical patterns trong Go: value object, entity, aggregate — và cách Go thể hiện chúng

Domain-Driven Design tactical patterns — value object, entity, aggregate — có cách thể hiện riêng trong Go nhờ value semantics của struct. Đo thật trong Go 1.23: value object so theo giá trị bằng ==, entity so theo ID, aggregate root ép bất biến, và struct comparable làm map key miễn phí.