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

Capstone: REST API production-grade bằng thư viện chuẩn Go — 16.000 req/s, không framework

Gộp mọi bài học của sê-ri vào một dịch vụ REST thật: định tuyến net/http (Go 1.22+), middleware recover chống sập, đếm atomic, timeout và graceful shutdown. Đo tải thật: 80.570 request 0 lỗi, 16.114 req/s, p50 1ms p99 31ms; server sống sót qua 3 panic và tắt sạch khi nhận SIGTERM.

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

Property-based testing trong Go: khẳng định tính chất, để máy tìm phản ví dụ

Test ví dụ kiểm từng cặp input-output cụ thể; property-based testing khẳng định một tính chất đúng với mọi input rồi để máy sinh hàng vạn input tìm phản ví dụ. Đo thật trong Go với testing/quick: bất biến sắp xếp qua 100k input, và round-trip lộ bug logic khi list rỗng ra [0] — thứ fuzzing trần bỏ lọt.

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

Đọc panic trace và runtime.Stack trong Go: mổ xẻ từng dòng để chẩn đoán crash

Panic trace không phải chữ đỏ đáng sợ mà là bản đồ đầy đủ để tìm bug. Bài này mổ xẻ từng phần: số hiệu goroutine, trạng thái [running]/[chan receive]/[sync.Mutex.Lock], ngăn xếp đọc từ đâu, tham số hex, tín hiệu SIGSEGV — và dùng runtime.Stack chụp mọi goroutine. Đo thật trong Go 1.23.

Kiến trúc hệ thống 22/09/2026 6 phút

Consistent hashing: cách Amazon Dynamo chia dữ liệu, dựng THẬT trên Redis Cluster

Chia khoá cho N node bằng hash%N nghe hợp lý — cho tới khi thêm một node và gần như MỌI khoá phải chuyển chỗ. Dynamo (2007) giải bằng consistent hashing. Bài này dựng THẬT một Redis Cluster 3 node (16384 hash slot), nạp 20.000 khoá, thêm node thứ 4 và đo trực tiếp: chỉ 24,9% khoá phải dời (~1/N) thay vì ~75% của modulo.