
buiquangminh2101024/event-ticketing-platform-deploy
Deployment & DevOpsDự án bài tập lớn môn , xây dựng nền tảng đặt vé sự kiện trực tuyến hiệu năng cao dựa trên kiến trúc Microservices.
Overview
Dự án bài tập lớn môn , xây dựng nền tảng đặt vé sự kiện trực tuyến hiệu năng cao dựa trên kiến trúc Microservices. - Framework chính. - API Gateway reverse proxy. - Authentication & Authorization. - ORM làm việc với MySQL. - Circuit Breaker & Retry Mechanism. - Containerization (7+ Containers). - Cơ sở dữ liệu quan hệ. - Caching & Rate Limiter Storage. - Message Queue xử lý đặt vé bất đồng bộ (Async). - CI/CD Pipelines. - Infrastructure as Code (IaC) demo. Hệ thống bao gồm 9 Microservices độc lập: - Frontend web application: http://localhost:3000 - API Gateway: http://localhost:8080 - /auth/ -> identity-service:8087 - /events/ -> event-service:8082 - /bookings/ -> booking-service:8083 RabbitMQ Dashboard: http://localhost:15672 (User/Pass: guest/guest) GitLab Pipeline: Truy cập mục Build > Pipelines để xem minh chứng CI/CD.
README
🎟️ TicketBox - Hệ thống Đặt vé Sự kiện Microservices
Dự án bài tập lớn môn Kiến trúc Phần mềm, xây dựng nền tảng đặt vé sự kiện trực tuyến hiệu năng cao dựa trên kiến trúc Microservices.
🚀 Công nghệ sử dụng (Tech Stack)
Backend Core (JDK 21)
- Spring Boot 3: Framework chính.
- Nginx: API Gateway reverse proxy.
- Spring Security + JWT: Authentication & Authorization.
- Spring Data JPA: ORM làm việc với MySQL.
- Resilience4j: Circuit Breaker & Retry Mechanism.
Infrastructure & DevOps
- Docker & Docker Compose: Containerization (7+ Containers).
- MySQL 8.0: Cơ sở dữ liệu quan hệ.
- Redis: Caching & Rate Limiter Storage.
- RabbitMQ: Message Queue xử lý đặt vé bất đồng bộ (Async).
- Jenkins & GitLab CI: CI/CD Pipelines.
- Terraform: Infrastructure as Code (IaC) demo.
🏗️ Kiến trúc Hệ thống
Hệ thống bao gồm 9 Microservices độc lập:
| Service | Port | Nhiệm vụ chính |
|---|---|---|
| api-gateway | 8080 |
Cổng vào duy nhất, reverse proxy bằng Nginx. |
| identity-service | 8087 |
Đăng ký, Đăng nhập, cấp phát JWT. |
| event-service | 8082 |
Quản lý sự kiện, tích hợp Redis Cache. |
| ticket-service | 8084 |
Quản lý kho vé. |
| booking-service | 8083 |
Xử lý đặt vé, Retry, tích hợp RabbitMQ. |
| payment-service | 8085 |
Giả lập thanh toán. |
| … | … | (Các service khác) |
🛠️ Hướng dẫn Cài đặt & Chạy (Dành cho Giảng viên)
Cách 1: Chạy toàn bộ bằng Docker (Khuyên dùng)
Yêu cầu: Đã cài Docker Desktop.
# 1. Clone dự án
git clone
cd EVENT-TICKETING-PLATFORM
# 2. Build và Run (api-gateway chạy bằng nginx)
docker compose up --build
- Frontend web application:
http://localhost:3000 - API Gateway:
http://localhost:8080
Gateway nhận request tại cổng 8080:
/auth/->identity-service:8087/events/->event-service:8082/bookings/->booking-service:8083
curl http://localhost:8080/
RabbitMQ Dashboard: http://localhost:15672 (User/Pass: guest/guest)
GitLab Pipeline: Truy cập mục Build > Pipelines để xem minh chứng CI/CD.
Recommended Tools
Try a different keyword or remove a filter.
Install
npx skillfish add buiquangminh2101024/event-ticketing-platform-deploy