Tổng quan đề tài
Trong bối cảnh thương mại điện tử ngày càng phát triển mạnh mẽ, các doanh nghiệp đang đối mặt với thách thức lớn trong việc xây dựng và duy trì các hệ thống bán hàng trực tuyến hiệu quả, đáp ứng nhu cầu ngày càng cao của khách hàng. Kiến trúc microservice, với khả năng mở rộng linh hoạt và tối ưu hóa hiệu suất, là giải pháp lý tưởng để giải quyết vấn đề này.
Kiến trúc microservice giúp phân chia ứng dụng thành các dịch vụ nhỏ, độc lập, dễ dàng quản lý và triển khai. Điều này giúp tăng cường tính linh hoạt, dễ dàng mở rộng và bảo trì hệ thống, đồng thời cải thiện hiệu suất tổng thể. Các dịch vụ có thể được phát triển, triển khai và bảo trì riêng lẻ, giảm thiểu rủi ro và thời gian gián đoạn.
Mục tiêu đề tài
- Xây dựng một ứng dụng web sử dụng kiến trúc microservices, đảm bảo tính linh hoạt, khả năng mở rộng và dễ dàng quản lý.
- Tích hợp cơ sở dữ liệu NoSQL (MongoDB) để quản lý dữ liệu khách hàng và sản phẩm.
- Sử dụng RabbitMQ làm message broker để xử lý giao tiếp không đồng bộ giữa các dịch vụ.
Nội dung đề tài

Trước khi vào xây dựng một mô hình microservice thì ta cần có một mô hình monolithic trước. Mô hình Monolithic Architecture là kiến trúc phần mềm mà tất cả các thành phần và chức năng của ứng dụng được tích hợp vào một khối duy nhất. Sơ đồ trên minh họa cách một ứng dụng web/moblie app tương tác với một hệ thống backend đơn khối (monolithic) và các thành phần của nó.

Tổng quan về sơ đồ trên: sơ đồ trên mô tả kiến trúc của một hệ thống sử dụng mô hình microservices kết hợp với một message broker để quản lý giao tiếp và xử lý sự kiện giữa các dịch vụ khác nhau.
Link demo: https://drive.google.com/drive/folders/1XPO5IhY4G6XpopEzNgezN0mWOWC09HRS


