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 11 phút

False sharing trong Go: hai biến không liên quan mà làm chậm nhau 30 lần

Tám goroutine tăng tám counter riêng, không chia sẻ dữ liệu — nhưng chậm 30 lần vì chúng nằm chung một cache line. Đo thật: 830 ms so với 27.5 ms sau khi chèn đệm để mỗi counter chiếm một cache line 64 byte. Cơ chế cache coherency và khi nào cần thêm padding. Go 1.23.

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

staticcheck và golangci-lint trong Go: bắt lỗi go build bỏ qua

go build chỉ bắt lỗi cú pháp và kiểu; nhiều lỗi tinh vi (so sánh thừa, dead store, dùng API sai) lọt qua. staticcheck là bộ linter chất lượng cao, golangci-lint gom nhiều linter vào một. Đo thật: cùng một file, go build sạch, staticcheck bắt 3 lỗi, golangci-lint bắt 4 — thêm cả dead store staticcheck bỏ sót.