Node.js Production: Kiến trúc và 12-Factor App
Ứng dụng chạy ngon trên máy dev nhưng lên production lại "dở chứng" vì kiến trúc không thiết kế cho môi trường thật? 12-Factor App là bộ quy tắc vàng giúp bạn deploy, scale và vận hành ở bất kỳ đâu.
Kiến trúc, hiệu năng và các mẫu thiết kế giúp bạn xây dựng dịch vụ Node.js sẵn sàng cho production.
Danh sách được sắp xếp theo lộ trình học từ cơ bản đến nâng cao.
Ứng dụng chạy ngon trên máy dev nhưng lên production lại "dở chứng" vì kiến trúc không thiết kế cho môi trường thật? 12-Factor App là bộ quy tắc vàng giúp bạn deploy, scale và vận hành ở bất kỳ đâu.
Máy 8 CPU core nhưng ứng dụng Node.js mặc định chỉ dùng một luồng — lãng phí tới 87% sức mạnh. Cluster Module và PM2 giúp chạy đa tiến trình, tận dụng trọn CPU, tự phục hồi và reload không downtime.
Sản phẩm sập lúc 2 giờ sáng, mở log ra toàn console.log vô nghĩa? Structured logging với pino biến log thành dữ liệu truy vết: JSON có cấu trúc, kèm request ID, dựng dashboard trong vài phút.
Một request lỗi làm treo event loop, một promise reject không ai bắt khiến Node.js âm thầm chết lúc 3 giờ sáng. Error handling là một hệ thống: bắt đúng chỗ, phân loại lỗi, không để app chết im lặng.
Ứng dụng vẫn "chạy" nhưng đang hấp hối: event loop nghẽn 5 giây, memory tăng không phanh, hàng trăm request treo mà không ai hay. Dựng health checks và alert để luôn là người biết sự cố đầu tiên.
Mỗi lần deploy vài request lỗi 502 vì instance cũ bị kill giữa chừng. Graceful shutdown cho ứng dụng thời gian dọn dẹp: chờ request xong, đóng kết nối sạch rồi mới tắt — deploy mà không ai nhận ra.