This repository contains a microservices-based application demonstrating a REST API built with Golang and Gin. It leverages Kafka for messaging and Aerospike as the NoSQL database. Docker Compose is used to orchestrate the application components.
- Golang REST API: Implements HTTP endpoints using the Gin framework.
- Aerospike Integration: Persistent data storage with high performance.
- Kafka for Messaging:
- Producer and consumer microservices for event-driven architecture.
- Configured with a Zookeeper-backed Kafka setup.
- UI Tools:
- Kafka UI for managing topics and messages.
- Aerospike Data Browser for viewing and managing Aerospike data.
- Scalable Consumer: Kafka consumer service with configurable replicas.
- Zookeeper: Kafka dependency for managing brokers.
- Kafka: Message broker with support for topics and partitions.
- Aerospike: NoSQL database for data persistence.
- API: Golang REST API exposing application endpoints.
- Consumer: Golang-based Kafka consumer with fault tolerance and scalability.
- Kafka UI: Web-based tool for managing Kafka topics and messages.
- Aerospike Browser: UI for browsing Aerospike data.
Run the application using Docker Compose:
docker-compose up
- Docker and Docker Compose
- Golang (for local development)
- Kafka UI (default port:
8081
) - Aerospike Browser (default port:
8082
)
This repository is a robust starting point for building scalable, event-driven applications with Golang, Kafka, and Aerospike.