Docker Compose cho production: setup đúng cách mà ít người làm
Quang Khải
20 tháng 4, 2026 · 8 phút đọc · 4.1k lượt xem
Đây là bài viết demo với nội dung placeholder. Khi kết nối với backend thực (Phase 2), nội dung sẽ được render từ Plate.js JSON thông qua @blog/editor/renderer.
Bối cảnh và vấn đề
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Phân tích codebase cũ
Sau khi audit codebase, chúng tôi phát hiện ra 3 vấn đề chính: circular dependencies giữa các module, business logic nằm rải rác trong controllers, và không có integration tests.
// Trước refactor — circular dep rất phổ biến
@Injectable()
export class PostService {
constructor(
private readonly userService: UserService, // circular!
private readonly categoryService: CategoryService,
) {}
}Kế hoạch refactor
Chúng tôi chọn Strangler Fig pattern — không rewrite từ đầu mà dần dần thay thế từng phần, đảm bảo production vẫn chạy liên tục trong suốt quá trình.
"The best refactoring is the one that ships without users noticing." — Team motto
Nội dung đầy đủ sẽ có khi Phase 2 hoàn thành và kết nối BE thực.
Bài viết có hữu ích không?
Quang Khải
@khaido
Full-stack developer, viết về React, Node.js và mọi thứ liên quan đến web. Đang build sản phẩm tại Việt Nam.