Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh công nghệ thông tin phát triển mạnh mẽ, thương mại điện tử (TMĐT) đã trở thành phương thức kinh doanh trọng yếu của các doanh nghiệp. Bên cạnh các sàn TMĐT truyền thống (Lazada, Tiki, Shopee), nhiều nền tảng mạng xã hội lớn như TikTok và Facebook cũng đã tích hợp thành công sàn giao dịch vào hệ thống sẵn có một cách nhanh chóng mà vẫn duy trì tính ổn định. Phân tích thực trạng cho thấy nhiều hệ thống TMĐT tại Việt Nam xây dựng trên nền tảng nguyên khối (Monolithic) cũ (tiêu biểu như Sendo từng sử dụng Magento trên nền PHP) đang gặp trở ngại lớn trong việc mở rộng quy mô, nâng cấp tính năng, bảo trì và đáp ứng lưu lượng truy cập lớn.

Nhằm giải quyết các hạn chế của kiến trúc nguyên khối và bắt kịp xu thế công nghệ hiện đại, đề tài "Xây dựng hệ thống TMĐT áp dụng kiến trúc Microservice" (tên website: Latipe) được thực hiện với các mục tiêu cụ thể sau:

  1. Tìm hiểu kiến trúc Microservice và các công cụ, giải pháp công nghệ liên quan.
  2. Xây dựng hoàn chỉnh một trang web thương mại điện tử hoạt động theo mô hình sàn giao dịch C2C trên nền tảng kiến trúc Microservice.
  3. Phát triển đầy đủ các chức năng nghiệp vụ cốt lõi: quản lý người dùng, sản phẩm, giỏ hàng, gian hàng, xử lý đơn hàng, tính phí vận chuyển, tích hợp cổng thanh toán trực tuyến.
  4. Tích hợp trí tuệ nhân tạo (Deep Learning) vào hệ thống nhằm cung cấp tính năng tìm kiếm sản phẩm thông qua hình ảnh.
  5. Triển khai ứng dụng lên môi trường thực tế (Internet) và thực hiện đánh giá hiệu năng hệ thống.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Kiến trúc hệ thống phân tán Microservice, quy trình nghiệp vụ TMĐT C2C, và mô hình truy xuất hình ảnh dựa trên nội dung (Content-Based Image Retrieval - CBIR).
  • Phạm vi thời gian: Đề tài được triển khai thực hiện từ ngày 04/03/2024 đến ngày 01/07/2024 (thuộc chương trình Khóa luận tốt nghiệp khóa 2020 – 2024).
  • Phạm vi kỹ thuật và chức năng: Xây dựng hệ thống backend gồm gần 15 microservices độc lập (sử dụng đa ngôn ngữ Java, Go, Python), giao diện người dùng bằng React/TypeScript, hệ thống quản trị dữ liệu phân tán (MySQL, MongoDB, Redis), message broker RabbitMQ, và mô hình AI trích xuất đặc trưng hình ảnh VGG16.

Cơ sở lý thuyết và phương pháp

Khung lý thuyết và mô hình áp dụng

  • Kiến trúc Microservice: Khái niệm phân rã ứng dụng thành các dịch vụ nhỏ độc lập, liên kết lỏng lẻo (loosely coupled), triển khai riêng biệt trên các môi trường container hóa. Cơ chế giao tiếp giữa các dịch vụ bao gồm:
    • Remote Procedure Invocation (RPI): Giao tiếp đồng bộ dựa trên giao thức RESTful API hoặc gRPC.
    • Messaging: Giao tiếp bất đồng bộ thông qua hàng đợi thông điệp (Message Queue), áp dụng mô hình kiến trúc hướng sự kiện (EDA - Event-Driven Architecture).
  • Mô hình kinh doanh TMĐT C2C (Customer-to-Customer): Nền tảng đóng vai trò trung gian kết nối người mua và người bán, quản lý luồng đơn hàng, vận chuyển, tích hợp thanh toán và điều phối doanh thu thông qua cơ chế thu phí hoa hồng nền tảng.
  • Lý thuyết truy xuất hình ảnh dựa trên nội dung (CBIR): Ứng dụng kỹ thuật thị giác máy tính với 2 giai đoạn:
    1. Trích xuất đặc trưng (Feature Extraction): Sử dụng mạng nơ-ron tích chập (CNN) với mô hình VGG16 đã được huấn luyện trước (pre-trained) trên tập dữ liệu ImageNet để chuyển đổi hình ảnh thành các vector đặc trưng số học (định dạng file .npy).
    2. Tính toán độ tương đồng: Áp dụng công thức khoảng cách Euclidean ($d(q, img)$) giữa vector của ảnh truy vấn và các vector ảnh có sẵn trong cơ sở dữ liệu để lọc ra các sản phẩm có độ tương đồng cao nhất: $$d(q, img) = \sqrt{\sum_{i=1}^{n} (q_i - img_i)^2}$$
Tiêu chí so sánh Kiến trúc Monolithic Kiến trúc Microservice
Khái niệm Toàn bộ chức năng được đóng gói trong một ứng dụng duy nhất. Phân tách chức năng thành các dịch vụ nhỏ riêng biệt, liên kết lỏng lẻo.
Cơ chế giao tiếp Gọi hàm nội bộ trong bộ nhớ. Sử dụng REST API, gRPC hoặc Message Queue (RabbitMQ).
Khả năng mở rộng Khó mở rộng từng phần, phải nhân bản toàn bộ ứng dụng. Mở rộng độc lập cho từng dịch vụ có nhu cầu tải cao.
Bảo trì & Cập nhật Rủi ro cao, cập nhật một phần có thể gây lỗi toàn hệ thống. Dễ dàng nâng cấp, vá lỗi từng dịch vụ mà không gián đoạn hệ thống chung.
Độ phức tạp & Chi phí Chi phí ban đầu thấp, phát triển đơn giản. Đòi hỏi kinh nghiệm quản trị hệ thống phân tán, chi phí vận hành cao hơn.

Phương pháp nghiên cứu và kỹ thuật thực hiện

  • Phương pháp phân tích - tổng hợp: Nghiên cứu tài liệu chuyên sâu về hệ thống phân tán, containerization (Docker), message broker và các bài báo khoa học về Deep Learning trong TMĐT.
  • Phương pháp khảo sát thực tế: Phân tích quy trình vận hành của các sàn TMĐT đang hoạt động tại Việt Nam để xây dựng luồng xử lý đơn hàng và mô hình tài chính.
  • Phương pháp thiết kế hướng đối tượng và mô hình hóa: Xây dựng sơ đồ ca sử dụng (Use Case Diagram), sơ đồ tuần tự (Sequence Diagram), thiết kế cơ sở dữ liệu quan hệ và phi quan hệ.
  • Phương pháp thực nghiệm và đánh giá:
    • Đánh giá mô hình CBIR trên tập dữ liệu thử nghiệm 289 ảnh của 59 sản phẩm mẫu.
    • Sử dụng Postman để kiểm thử tải, đo lường số lượng request tiếp nhận và mức tiêu thụ bộ nhớ của hệ thống backend.

Thiết kế và triển khai

Kiến trúc phân tầng và phân rã Microservices

Hệ thống TMĐT Latipe được thiết kế theo mô hình kiến trúc phân tán với API Gateway làm đầu mối điều phối luồng yêu cầu từ bên ngoài, che giấu cấu trúc mạng nội bộ và hỗ trợ giám sát/cân bằng tải.

Tên Dịch vụ (Service) Công nghệ / Nền tảng Nhiệm vụ và Chức năng chính
API Gateway Go / Nginx Proxy Tiếp nhận toàn bộ request từ Frontend, phân luồng đến các service, đảm bảo bảo mật.
User Service Java (Spring Boot) / Go Quản lý thông tin tài khoản người dùng, địa chỉ, phân quyền hệ thống.
Authentication Service Java (Spring Boot) Cung cấp API đăng nhập, đăng ký, xác thực và cấp phát mã token, đăng xuất.
Product Service Go (Fiber) / MongoDB Quản lý danh mục, thông tin chi tiết sản phẩm, phân loại hàng hóa, trạng thái kiểm duyệt.
Store Service Go (Fiber) / MongoDB Quản lý thông tin gian hàng, chính sách bán hàng, số dư và lợi nhuận cửa hàng.
Cart Service Go (Fiber) / Redis Quản lý giỏ hàng cá nhân của người dùng, tối ưu tốc độ truy xuất.
Order Service Java (Spring Boot) / MySQL Tạo và quản lý quy trình đơn hàng, lưu vết trạng thái, thống kê doanh số.
Payment Service Java (Spring Boot) Xử lý thanh toán đơn hàng, tích hợp cổng thanh toán PayPal và phương thức COD.
Delivery Service Java (Spring Boot) Quản lý các đơn vị vận chuyển, tính cước phí giao hàng dựa trên biểu phí cơ sở.
Promotion Service Java (Spring Boot) Quản lý và phát hành voucher giảm giá của sàn và của từng cửa hàng.
Rating Service Java (Spring Boot) / MongoDB Tiếp nhận và hiển thị đánh giá, nhận xét của khách hàng cho sản phẩm và cửa hàng.
Search Service Elasticsearch Xử lý tìm kiếm nâng cao toàn văn (full-text search) theo từ khóa, tên, mô tả.
Visual Search Engine Python (FastAPI / TensorFlow) Tiếp nhận ảnh truy vấn, trích xuất đặc trưng VGG16, tính khoảng cách Euclidean và trả về ID sản phẩm.
Notification Service Java / Firebase (FCM) Đẩy thông báo biến động đơn hàng và chương trình khuyến mãi đến thiết bị người dùng.
Schedule Service Quarkus / Cron Job Thực hiện các tác vụ lập lịch định kỳ, nhắc nhở và kích hoạt sự kiện tự động.
Media & Email Service Cloudinary / SMTP API Lưu trữ tài nguyên đa phương tiện (ảnh/video) và gửi email xác thực, thông báo.

Công nghệ nền tảng và môi trường thực thi

  • Frontend: Xây dựng ứng dụng đơn trang (Single Page Application - SPA) với React 18, TypeScript, sử dụng công cụ dựng mã nguồn Vite.
  • Backend:
    • Java 17 & Spring Boot 3: Áp dụng cho các dịch vụ nghiệp vụ phức tạp, xử lý giao dịch tài chính yêu cầu chuẩn ACID.
    • Golang & Fiber Framework: Tận dụng cơ chế biên dịch trực tiếp và nhân Fasthttp của Fiber để xử lý các dịch vụ đòi hỏi tốc độ cao và tiêu tốn ít bộ nhớ.
    • Python 3.10 & FastAPI: Chạy trong môi trường Miniconda, kết hợp TensorFlow 2.15 phục vụ xử lý AI.
  • Hệ thống dữ liệu:
    • MySQL: Quản lý dữ liệu giao dịch có cấu trúc chặt chẽ (đơn hàng, thanh toán, biểu phí).
    • MongoDB: Lưu trữ dữ liệu dạng Document phi cấu trúc/bán cấu trúc có tần suất mở rộng cao (User, Product, Store, Rating).
    • Redis: Lưu trữ bộ đệm (caching) để giảm tải truy vấn cơ sở dữ liệu.
  • Hạ tầng và Giám sát: Triển khai đóng gói toàn bộ các dịch vụ qua Docker Containers, kiểm soát và giám sát tài nguyên qua Prometheus và Grafana.

Quy trình nghiệp vụ và công thức tài chính

Hệ thống vận hành theo chu trình C2C khép kín: Người mua tạo đơn $\rightarrow$ Cửa hàng chuẩn bị hàng $\rightarrow$ Bàn giao Đơn vị vận chuyển $\rightarrow$ Giao hàng thành công $\rightarrow$ Quyết toán tài chính.

Quy tắc phân bổ doanh thu trên từng đơn hàng thành công:

  • Tổng giá trị thanh toán của người mua: $$\text{Tổng thanh toán} = \text{Tiền hàng} + (\text{Phí VC} - \text{Voucher VC}) - (\text{Voucher Shop} + \text{Voucher Sàn})$$
  • Lợi nhuận cửa hàng nhận được: $$\text{Lợi nhuận Shop} = \text{Tiền hàng} - (\text{Tiền hàng} \times \text{Phí nền tảng %}) - \text{Voucher Shop}$$ (Trong đó: Phí nền tảng mặc định áp dụng ở mức 5%).
  • Doanh thu đơn vị vận chuyển: Bằng chính cước Phí vận chuyển (sau khi sàn thanh toán hỗ trợ).
  • Lợi nhuận hệ thống sàn nhận được: $$\text{Lợi nhuận Sàn} = (\text{Tiền hàng} \times \text{Phí nền tảng %}) - \text{Voucher VC} - \text{Voucher Sàn}$$

Nội dung chính theo từng chương

CHƯƠNG 1. CƠ SỞ LÝ THUYẾT

Chương này tổng quan nền tảng lý thuyết và công nghệ xây dựng hệ thống:

  • Kiến trúc Microservice và giao tiếp: Phân tích 3 phương thức giao tiếp (RPI, Messaging, Domain-specific protocol); cấu trúc của Message Queue (RabbitMQ) hoạt động theo cơ chế FIFO; công nghệ ảo hóa Container (Docker) so với máy ảo (VM); chức năng bảo mật, điều phối và phân luồng của API Gateway.
  • Công nghệ phát triển: Giới thiệu Java 17/Spring Boot, Go/Fiber, React 18/TypeScript, hệ quản trị CSDL MySQL, MongoDB, Redis, Prometheus, Grafana, Quarkus và Firebase Cloud Messaging.
  • Chức năng tìm kiếm hình ảnh (CBIR): Trình bày chi tiết giải thuật trích xuất đặc trưng bằng mạng VGG16 (chuẩn hóa ảnh đầu vào kích thước $224 \times 224$ pixels) và giải thuật so khớp khoảng cách Euclidean. Báo cáo kết quả thử nghiệm thực tế: trên tập dữ liệu kiểm thử gồm 289 ảnh thuộc 59 sản phẩm, mô hình đạt độ chính xác 77.5% (ID sản phẩm đúng nằm trong top 4 kết quả trả về của danh sách 10 sản phẩm); thời gian phản hồi trung bình đạt từ 250ms – 300ms cho mỗi truy vấn.

CHƯƠNG 2. KHẢO SÁT, PHÂN TÍCH, THIẾT KẾ

Tập trung vào phân tích hiện trạng thị trường TMĐT tại Việt Nam và đặc tả bài toán:

  • Khảo sát mô hình hoạt động C2C, quy trình xử lý đơn hàng và xây dựng mô hình tính toán doanh thu/lợi nhuận đa bên giữa Sàn, Cửa hàng và Đơn vị vận chuyển (áp dụng tỷ lệ phí sàn 5%).
  • Lập bảng đặc tả 18 yêu cầu chức năng nghiệp vụ của hệ thống: Quản lý người dùng, Quản lý cửa hàng, Quản lý sản phẩm, Quản lý danh mục, Quản lý đơn vị vận chuyển, Quản lý đánh giá, Quản lý đơn hàng, Quản lý thanh toán (Paypal, COD), Tìm kiếm nâng cao, Thống kê đơn hàng, Thống kê doanh thu, Thống kê sản phẩm bán chạy, Lưu trữ Cloudinary, Xuất báo cáo Excel, Tìm kiếm bằng hình ảnh, Quản lý chiến dịch quảng cáo, Quản lý tài khoản và Quản lý Voucher.

CHƯƠNG 3. MÔ HÌNH HÓA YÊU CẦU

Mô hình hóa chi tiết hệ thống thông qua các sơ đồ Use Case và bảng đặc tả cho 5 tác nhân (Actor):

  • GUEST (Khách vãng lai): Xem trang chủ, tìm kiếm sản phẩm (từ khóa/hình ảnh), xem chi tiết sản phẩm, đăng ký/đăng nhập.
  • USER (Người mua hàng): Quản lý giỏ hàng, đặt hàng, hủy đơn có điều kiện, thanh toán trực tuyến, theo dõi trạng thái giao hàng, đánh giá sản phẩm/cửa hàng, quản lý số dư ví.
  • STORE (Gian hàng/Người bán): Đăng ký gian hàng, quản lý danh sách và thêm mới sản phẩm, cập nhật trạng thái đơn hàng (chuẩn bị hàng), xem thống kê doanh thu, tạo mã giảm giá của shop, rút tiền về tài khoản PayPal.
  • DELIVERY (Đơn vị vận chuyển): Quản lý danh sách đơn hàng được giao, cập nhật trạng thái vận chuyển (đang giao, giao thành công, thất bại).
  • ADMIN (Quản trị viên hệ thống): Quản lý toàn bộ người dùng, duyệt/khóa sản phẩm vi phạm, quản lý cấu hình danh mục, quản lý đơn vị vận chuyển, thiết lập chính sách hoa hồng sàn, phát hành voucher toàn sàn, thống kê doanh thu hệ thống, xuất báo cáo tài chính.

CHƯƠNG 4. THIẾT KẾ PHẦN MỀM

Chi tiết hóa kiến trúc logic và dữ liệu của ứng dụng:

  • Xây dựng hệ thống sơ đồ tuần tự (Sequence Diagram) mô tả luồng tương tác giữa Frontend, API Gateway và các Microservices cho các tác vụ: Đăng nhập/Đăng ký, Tìm kiếm bằng hình ảnh, Thêm sản phẩm, Cập nhật giỏ hàng, Đặt hàng và Hủy đơn hàng, Thanh toán qua PayPal, Rút tiền về ví, Thống kê doanh thu và Sản phẩm bán chạy.
  • Thiết kế lược đồ cơ sở dữ liệu chi tiết cho cả hai hệ quản trị:
    • MongoDB: Thiết kế cấu trúc các Collections cho User, Store, Product, Category, Rating.
    • MySQL: Thiết kế bảng quan hệ phục vụ Order, Order Item, Payment Transaction, Commission, Delivery Unit.

CHƯƠNG 5. THIẾT KẾ GIAO DIỆN

Trình bày thiết kế giao diện thực tế của hệ thống web Latipe theo từng phân hệ:

  • Giao diện chung và người mua: Trang chủ, Đăng ký/Đăng nhập, Trang sản phẩm/Chi tiết sản phẩm, Giỏ hàng, Trang thanh toán PayPal/COD, Quản lý trạng thái đơn hàng, Tìm kiếm bằng hình ảnh.
  • Giao diện bán hàng (Store Dashboard): Quản lý kho hàng, Thêm/sửa sản phẩm chi tiết theo phân loại, Xử lý đơn hàng, Biểu đồ thống kê doanh thu theo tháng/năm, Rút tiền ví.
  • Giao diện phân hệ Đơn vị vận chuyển: Tiếp nhận đơn, Cập nhật trạng thái giao hàng.
  • Giao diện Quản trị viên (Admin Panel): Quản lý tài khoản, Quản lý danh mục, Quản trị hoa hồng, Kiểm duyệt cấm bán sản phẩm vi phạm, Quản lý giao dịch và phát hành Voucher khuyến mãi.

CHƯƠNG 6. CÀI ĐẶT VÀ TRIỂN KHAI HỆ THỐNG

Trình bày các bước thiết lập môi trường và đánh giá hệ thống:

  • Quy trình cài đặt môi trường chạy thủ công từng service và tự động hóa qua Docker Compose.
  • Hướng dẫn cấu hình cổng mạng (ports), kết nối cơ sở dữ liệu và triển khai lên môi trường mạng Internet.
  • Kiểm thử hiệu năng hệ thống Backend bằng Postman: Ghi nhận biểu đồ tiếp nhận khối lượng request và biểu đồ giám sát dung lượng bộ nhớ sử dụng của từng container.

Kết quả và đóng góp

Kết quả đạt được

  • Hiện thực hóa hệ thống phần mềm hoàn chỉnh: Xây dựng thành công sàn TMĐT Latipe hoạt động ổn định trên kiến trúc Microservice với 15 dịch vụ chức năng phân tách rõ ràng.
  • Tích hợp thành công mô hình CBIR: Xây dựng hoàn chỉnh module tìm kiếm sản phẩm bằng hình ảnh dựa trên VGG16, đạt độ chính xác 77.5% với thời gian phản hồi nhanh (250 – 300ms).
  • Quy trình nghiệp vụ C2C đa bên: Xây dựng đầy đủ các cổng giao tiếp dành riêng cho 5 tác nhân; hoàn thiện cơ chế thanh toán đa phương thức (PayPal API, COD) và hệ thống phân phối thông báo tự động (Firebase Cloud Messaging).

Giải pháp kỹ thuật và Đóng góp

  • Kiến trúc Polyglot Microservices: Đồ án đã kết hợp hài hòa nhiều công nghệ trên cùng một hệ thống (Java Spring Boot cho xử lý nghiệp vụ/giao dịch nặng, Golang Fiber cho các API tải cao cần tối ưu bộ nhớ, Python FastAPI cho module AI), giải quyết được bài toán thắt nút cổ chai của các hệ thống nguyên khối truyền thống.
  • Tối ưu hóa quản trị dữ liệu: Phân tách rõ ràng giữa cơ sở dữ liệu phi quan hệ (MongoDB cho các thực thể linh hoạt) và cơ sở dữ liệu quan hệ (MySQL cho các nghiệp vụ cần ràng buộc toàn vẹn dữ liệu nghiêm ngặt).

Hạn chế và hướng nghiên cứu tiếp

Hạn chế được ghi nhận

  • Độ chính xác của chức năng tìm kiếm hình ảnh bị suy giảm (chiếm 22.5% trường hợp sai sót) khi ảnh đầu vào bị mờ, góc chụp quá nghiêng, hoặc ảnh chứa quá nhiều chi tiết gây nhiễu.
  • Thời gian phản hồi của dịch vụ tìm kiếm hình ảnh ở những lượt gọi đầu tiên còn bị trễ do quá trình khởi tạo mô hình AI vào bộ nhớ.
  • Chi phí tài nguyên và độ phức tạp quản trị còn cao khi phải vận hành đồng thời 15 microservices trên môi trường phân tán.

Hướng phát triển tiếp theo

  • Cải tiến và tối ưu mô hình học sâu (Deep Learning), áp dụng thêm các kỹ thuật tiền xử lý cắt lọc ảnh (crop/object detection) trước khi trích xuất vector nhằm nâng cao độ chính xác của chức năng tìm kiếm hình ảnh.
  • Nâng cấp hạ tầng điều phối container lên Kubernetes (K8s) để hỗ trợ tính năng tự động co giãn (auto-scaling) và tăng cường khả năng chịu lỗi (fault tolerance) cho hệ thống khi đưa vào quy mô kinh doanh thực tế.

Giá trị tham khảo

Tài liệu khóa luận có giá trị tham khảo hữu ích cho các nhóm đối tượng:

  • Sinh viên ngành Công nghệ thông tin, Công nghệ phần mềm: Nguồn tư liệu thực tế về cách tổ chức, phân rã và xây dựng hệ thống phần mềm quy mô vừa và lớn theo kiến trúc Microservice đa ngôn ngữ (Java, Go, Python).
  • Lập trình viên phát triển web TMĐT: Cung cấp tài liệu tham khảo chi tiết về luồng nghiệp vụ C2C, công thức tính toán dòng tiền, phí nền tảng, thiết kế cơ sở dữ liệu phân tán (kết hợp MySQL và MongoDB), và cách tích hợp cổng thanh toán PayPal.
  • Người nghiên cứu ứng dụng AI: Cung cấp phương pháp thực hành triển khai mô hình mạng nơ-ron tích chập (VGG16) thành API dịch vụ thông qua FastAPI để tích hợp tính năng thị giác máy tính vào các ứng dụng thương mại điện tử.

Câu hỏi thường gặp

1. Hệ thống TMĐT Latipe sử dụng những công nghệ và ngôn ngữ lập trình nào cho phần Backend? Phần Backend của hệ thống được xây dựng theo mô hình Polyglot Microservices kết hợp đa ngôn ngữ: Java 17 với framework Spring Boot 3 (xử lý Order, Payment, Promotion, Delivery), Golang với Fiber framework (xử lý User, Product, Store, Cart), Python 3.10 với FastAPI và TensorFlow 2.15 (xử lý Visual Search AI), cùng framework Quarkus hỗ trợ tác vụ lập lịch định kỳ (cron job).

2. Cơ chế tìm kiếm sản phẩm bằng hình ảnh (CBIR) trong khóa luận hoạt động như thế nào và đạt độ chính xác bao nhiêu? Chức năng CBIR sử dụng mô hình pre-trained VGG16 (từ TensorFlow) để trích xuất ảnh đầu vào thành vector đặc trưng (chuẩn hóa kích thước $224 \times 224$ pixels). Sau đó, hệ thống tính toán khoảng cách Euclidean giữa vector này với các vector ảnh sản phẩm đã lưu sẵn (.npy). Thử nghiệm trên 289 ảnh của 59 sản phẩm cho thấy hệ thống đạt độ chính xác 77.5% (ảnh đúng nằm trong top 4 kết quả trả về) với thời gian xử lý trung bình từ 250 – 300ms.

3. Công thức tính toán doanh thu của sàn và lợi nhuận của cửa hàng được thiết lập ra sao? Hệ thống thu phí nền tảng cố định là 5% trên tổng tiền sản phẩm của mỗi đơn hàng. Khi đơn hàng thành công:

  • Lợi nhuận của cửa hàng = $\text{Tổng tiền sản phẩm} - (\text{Tổng tiền sản phẩm} \times 5%) - \text{Mã giảm giá của shop}$.
  • Lợi nhuận của sàn = $(\text{Tổng tiền sản phẩm} \times 5%) - \text{Mã giảm giá sàn} - \text{Mã giảm giá vận chuyển}$.

4. Tại sao hệ thống lại kết hợp đồng thời cả MySQL, MongoDB và Redis? Mỗi hệ quản trị cơ sở dữ liệu được sử dụng cho một mục đích riêng biệt phù hợp với kiến trúc Microservice: MySQL đảm bảo tính toàn vẹn dữ liệu (ACID) cho giao dịch và đơn hàng (Order/Payment); MongoDB cung cấp cấu trúc linh hoạt và khả năng mở rộng tốt cho dữ liệu người dùng, cửa hàng, sản phẩm (Product/User/Store); Redis đóng vai trò lưu trữ bộ đệm (cache) và quản lý giỏ hàng tạm thời để tối ưu tốc độ đọc/ghi.


Kết luận

Đồ án tốt nghiệp "Xây dựng hệ thống TMĐT áp dụng kiến trúc Microservice" của nhóm tác giả Trần Tiến Đạt và Hồ Thái Long đã hoàn thành đầy đủ mục tiêu thiết kế và triển khai một sàn thương mại điện tử C2C đa dịch vụ. Đề tài chứng minh tính hiệu quả của việc ứng dụng kiến trúc Microservice kết hợp đa ngôn ngữ (Java, Go, Python) nhằm tối ưu hiệu năng và khả năng mở rộng hệ thống. Đồng thời, việc tích hợp thành công mô hình học sâu VGG16 cho chức năng tìm kiếm hình ảnh đã giải quyết tốt bài toán nâng cao trải nghiệm người dùng trong thương mại điện tử hiện đại.