Sổ tay Ecommerce Polyglot
µFE/µBESổ tay Ecommerce Polyglot
Personal project · học kỹ thuật, không phải học nghiệp vụ

Một shop online nhỏ, dựng bằng 2 frontend, 2 backend stack, 2 database

Nghiệp vụ được giữ đơn giản: đăng ký, xem sản phẩm, thêm vào giỏ, đặt hàng, nhận thông báo. Phần đáng học nằm ở cách các mảnh ghép nói chuyện với nhau: REST, gRPC, GraphQL Federation, event qua message broker, cache, log có correlation ID, trace OpenTelemetry, test nhiều tầng và CI.

Java 21 · Spring Boot 3.3 .NET 10 · ASP.NET Core React 19 Angular 21 MySQL · MongoDB · Redis Nginx · Apollo Router · OTel · Seq
5backend service
3frontend (shell + 2 remote)
4kiểu giao tiếp: REST, gRPC, GraphQL, event
2cloud adapter cho messaging và cache
9/9phase local đã xong
0resource cloud đã tạo
Sơ đồ hoạt hình

Một request đi qua những đâu?

Chọn một kịch bản rồi bấm Phát hoặc Tiếp. Đường xanh đậm là bước đang chạy, đường nét đứt là dữ liệu trả về. Nét gạch ngắn trên sơ đồ là gRPC, nét chấm là GraphQL.

Kịch bản
1 / 1HTTP
Bản đồ kiến thức

Dự án này dạy được gì

Mỗi ô là một nhóm kỹ thuật. Bấm vào để mở phần giải thích kèm code thật ở tab Kỹ thuật.

Kiến trúc microservice

Chia theo năng lực nghiệp vụ, mỗi service một database, polyglot Java + .NET.

Java & Spring

Spring Security + JWT, filter chain, @Transactional và cái bẫy self-invocation, Flyway.

.NET & MongoDB

Kestrel 2 cổng, repository, update nguyên tử với FindOneAndUpdate, seed dữ liệu.

Giao tiếp giữa service

gRPC + Protobuf, event OrderCreated qua SNS/SQS hoặc Service Bus, GraphQL Federation, Nginx gateway.

Micro-frontend

Webpack Module Federation, hợp đồng mount/unmount cho React và Angular, cấu hình lúc chạy.

Cache, log, trace, test

Redis cache-aside, correlation ID + Seq, OpenTelemetry agent, Testcontainers, Playwright, Docker.

Lộ trình

Dự án đã đi qua những chặng nào

Phase 1Scaffold

Cấu trúc repo, docker-compose, thư mục /contracts

Phase 2identity-service

Java, đăng ký/đăng nhập, cấp JWT

Phase 3product-service

.NET + MongoDB, catalog, seed

Phase 4cart-service

.NET, gọi gRPC sang product

Phase 5order-service

Checkout, gRPC, phát OrderCreated

Phase 6notification-service

Nhận OrderCreated, ghi thông báo

Phase 7Micro-frontend

Shell + React remote + Angular remote

Phase 8Logging

Seq + correlation ID ở cả 5 service

Phase 9End-to-end

Playwright chạy hết luồng mua hàng

ThêmDocker hóa 9 service

Mỗi service một Dockerfile multi-stage

ThêmRedis + Gateway + GraphQL

Cache 2 cloud, Nginx, Apollo Federation

ThêmOTel + CI

Trace qua agent, GitHub Actions

Tiếp theoDeploy Azure → AWS

Đã duyệt thiết kế, chưa tạo resource