Yasin Engin Go Backend
Netreka Nexus - Microservices Hub in Go
A backend systems project for practicing service boundaries, messaging, gateway routing, and deployment operations.
Problem
Microservice systems become difficult when every service talks to every other service directly. Netreka Nexus explores a cleaner center of gravity: a broker-driven hub where request routing, background work, logging, and gateway behavior are separated into understandable components.
Architecture
The project uses a gateway, a broker layer, RabbitMQ-backed event flow, worker services, and a logging service. The goal is not to make many tiny services for show, but to make each boundary explain why it exists.
Technologies
- Go for HTTP handlers, worker services, and service orchestration.
- RabbitMQ for asynchronous message flow.
- gRPC for structured logging and service-to-service contracts.
- Docker Swarm and Caddy for deployment and gateway routing practice.
What I Built
- Broker-pattern request path for routing work to independent services.
- RabbitMQ event pipeline for asynchronous jobs.
- gRPC logging service so application events follow a consistent contract.
- Containerized deployment setup with gateway-facing routing.
Screenshots / Diagrams
GitHub Repository
What I Learned
- Service boundaries should match operational responsibility, not just code folders.
- Event-driven systems need clear tracing and logging from the beginning.
- Gateway routing and deployment shape the architecture as much as application code does.
Future Improvements
- Add distributed tracing across gateway, broker, worker, and logging flows.
- Document local load-test scenarios with repeatable input data.
- Add deployment notes for Kubernetes next to Docker Swarm.