Go pprof: Profiling CPU & Bộ nhớ trên Production

🇬🇧 Read the English version of this article on tanhdev.com Yêu cầu tiên quyết: Hướng dẫn này đề cập đến việc profile và chẩn đoán các sự cố hiệu năng phức tạp trên production. Nếu bạn đang xử lý tình trạng số lượng goroutine tăng trưởng không kiểm soát, hãy chắc chắn rằng bạn đã hiểu các khái niệm nền tảng trong bài viết Phát hiện và Xử lý Goroutine Leak trên Production Go Services. ...

2 tháng 6, 2026 · 11 phút · Tuan Anh

Các Mẫu Goroutine Pool Trong Go: errgroup & Cơ Chế Chặn (Backpressure)

🇬🇧 Read the English version of this article on tanhdev.com Mọi kỹ sư Go cuối cùng đều viết cùng một sai lầm: một vòng lặp khởi chạy các goroutine vô điều kiện (unconditionally). Trong một bản demo với 10 mục, điều này hoạt động rất đẹp. Nhưng trong môi trường production (thực tế) với 50.000 sự kiện webhook đầu vào, nó sẽ sản sinh ra 50.000 goroutine cùng một lúc, làm cạn kiệt bộ nhớ và kích hoạt sát thủ diệt bộ nhớ (OOM killer). Kubernetes sẽ khởi động lại (restart) cái pod đó. Và rồi kỹ sư trực on-call nhận tiếng bíp gọi dậy lúc 3 giờ sáng. ...

1 tháng 6, 2026 · 27 phút · Tuan Anh

Phát hiện và Xử lý Goroutine Leak trên Production Go...

🇬🇧 Read the English version of this article on tanhdev.com Một pod Kubernetes đột ngột khởi động lại với mã thoát (exit code) 137. Biểu đồ giám sát bộ nhớ (memory metrics dashboard) hiển thị một mô hình bậc thang tăng dần đều đặn kéo dài suốt ba ngày. Không có bất kỳ log panic nào trong stdout, không có lỗi database, và không có mức tăng đột biến CPU bất thường nào. Chỉ là một cái chết êm đềm và từ từ do lỗi OOM (Out Of Memory). ...

26 tháng 5, 2026 · 20 phút · Tuan Anh
OAuth 2.1 và Quản lý Phiên bản Prompt cho AI Agent — sơ đồ kiến trúc kỹ thuật

OAuth 2.1 & Quản lý Phiên bản Prompt cho AI Agent trên Production

🇬🇧 Read the English version of this article on tanhdev.com Việc vận hành các API AI trên môi trường production trong suốt 18 tháng qua đã mang lại ba bài học xương máu mà tôi không thể tìm thấy trong bất kỳ tài liệu hướng dẫn “bắt đầu với LLM” nào. Chúng rút ra từ các sự cố thực tế, các buổi họp rút kinh nghiệm (postmortems) và từ những tin nhắn Slack lúc 2 giờ sáng với cụm từ mà không kỹ sư nào muốn thấy trên production — “lỗi ngầm” (silent failure). ...

18 tháng 5, 2026 · 17 phút · Tuan Anh