Q

Quản trị viên

Là một lập trình viên yêu công nghệ, thích viết blog để chia sẻ kiến thức, kinh nghiệm lập trình và những điều thú vị trong thế giới tech.

2312 bài viết · Website
Lập trình Go 22/09/2026 9 phút

Continuous profiling trong Go: hồ sơ CPU/bộ nhớ từ dịch vụ đang chạy thật

Benchmark cục bộ chỉ đo cái bạn nghĩ là nóng; điểm nóng production thường ở chỗ bất ngờ với tải và dữ liệu thật. net/http/pprof phơi endpoint để thu hồ sơ từ dịch vụ đang chạy mà không dừng nó. Đo thật trong Go: thu CPU profile 3 giây từ service live, pprof chỉ đúng hàm nóng 100% CPU.

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

Repository pattern trong Go: tách tầng dữ liệu bằng interface, và khi nào nó thành lớp thừa

Repository pattern giấu chi tiết lưu trữ sau một interface, để logic nghiệp vụ không phụ thuộc CSDL cụ thể. Đo thật trong Go 1.23: repo dịch lỗi lưu trữ thành lỗi domain để errors.Is dùng ở tầng trên, service test được bằng fake, và nêu thẳng chỗ repository giấu mất tối ưu CSDL.

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

CQRS trong Go: tách mô hình đọc khỏi mô hình ghi, và cái giá của read model

CQRS tách đường ghi (command, chuẩn hóa) khỏi đường đọc (query, gộp sẵn) để mỗi bên tối ưu độc lập. Đo thật trong Go 1.23: đọc từ read model dựng sẵn nhanh hơn tính lại từ 100k đơn khoảng 328 lần, đổi lại mỗi lệnh ghi phải chiếu và có thể trễ nhất quán.

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.