# microservices# event-driven# rabbitmq# docker# Express# spring boot# react
Giới thiệu về nền tảng thương mại điện tử D4C Clothing Shop được xây dựng theo kiến trúc microservices.
ngày 28 tháng 08 năm 2026
D4C Clothing Shop là một nền tảng thương mại điện tử chuyên về bán lẻ quần áo, được xây dựng dựa trên kiến trúc microservices. Dự án kết hợp giao diện người dùng (frontend) bằng React, API Gateway sử dụng Spring Cloud, cơ chế khám phá dịch vụ (service discovery) với Eureka, các dịch vụ Java Spring Boot, dịch vụ Node.js cùng cơ sở hạ tầng hỗ trợ cho việc lưu trữ dữ liệu, truyền tin (messaging), bộ nhớ đệm (caching) và tìm kiếm.
Hệ thống được thiết kế để chạy cục bộ (local) bằng Docker Compose, đồng thời cho phép phát triển độc lập từng dịch vụ. Lưu lượng truy cập từ phía người dùng đi qua API Gateway tại địa chỉ http://localhost:8080/api/**, và các dịch vụ sẽ đăng ký với Eureka để thực hiện khám phá dịch vụ.
Ứng dụng được tổ chức theo mô hình monorepo cho kiến trúc microservices. Frontend gọi đến API Gateway, và gateway này sẽ định tuyến các yêu cầu có đường dẫn /api/** tới các instance dịch vụ được phát hiện thông qua Eureka.
Các dịch vụ cốt lõi của ứng dụng bao gồm:
UserService: xác thực và quản lý người dùng.ProductService: các API liên quan đến sản phẩm, danh mục, biến thể sản phẩm và dữ liệu đa phương tiện (media).CartService: các thao tác với giỏ hàng, có hỗ trợ từ Redis.OrderService: quản lý vòng đời đơn hàng.PaymentService: tích hợp xử lý thanh toán.NotificationService: xử lý thông báo với RabbitMQ.RecommendationService: các API gợi ý sản phẩm.AIService: các tính năng ứng dụng có hỗ trợ bởi AI.SearchService: lập chỉ mục tìm kiếm và hỗ trợ truy vấn.Các dịch vụ hạ tầng bao gồm MariaDB, Redis, RabbitMQ, Elasticsearch, Kibana và Typesense. Tệp docker-compose.yml tại thư mục gốc đóng vai trò là nguồn cấu hình chính (source of truth) cho việc điều phối dịch vụ ở môi trường cục bộ. ## Cách chạy
Chạy toàn bộ hệ thống (full-stack) bằng Docker:
docker compose up --build -d
Chạy hệ thống ở chế độ phát triển (development) với hỗ trợ hot-reload cho frontend và các cổng debug cho Java:
docker compose -f docker-compose.yml -f docker-compose.dev.yml up --build
Dừng hệ thống:
docker compose down
Các URL cục bộ hữu ích:
http://localhost:5173http://localhost:8080http://localhost:8761http://localhost:15672http://localhost:5601http://localhost:9200http://localhost:8108Kiểm tra nhanh sau khi khởi động:
docker compose ps
curl http://localhost:8761
curl http://localhost:8080/actuator/health
curl http://localhost:8080/api/products