Distributed Event Ticketing System
Microservices event ticketing platform with 5 Go services, message queuing, and monitoring.
01 Project Overview
A microservices-based event ticketing platform built as a school project to explore distributed systems architecture. The system consists of 5 independent Go services communicating through RabbitMQ, fronted by an Nginx API gateway, with a Next.js frontend. Includes full infrastructure monitoring with Prometheus and Grafana, and load testing with k6.
02 Microservices Architecture
03 Technology Stack
04 Key Learnings
Service Communication
Designed inter-service communication using RabbitMQ for asynchronous event-driven interactions, ensuring services remain loosely coupled and independently deployable.
Observability
Implemented Prometheus metrics collection across all services with Grafana dashboards for real-time monitoring and k6 load testing to validate performance under stress.
API Gateway Pattern
Used Nginx as an API gateway to route requests to the appropriate microservice, handle SSL termination, and provide a unified entry point for the frontend.