A Spring Boot microservice for high-volume CSV data ingestion using Kafka streaming and PostgreSQL batch insertion. Built with Java 21 and designed for efficient processing of large datasets.
-
Configure Environment Variables
cp .env.template .env
Edit
.envand set yourBASE_DIR(absolute path) and database credentials. -
Pull Pre-built Docker Image (NOT NECESSARY , JUST AS AN INFO)
docker pull robicodex18/highvolumecsvingestionservice:1.0.0
-
Start Services
docker-compose up -build
Execute SQL queries against the ingested data:
curl -X POST http://localhost:8080/api/query \
-H "Content-Type: text/plain" \
-d "SELECT * FROM your_table LIMIT 10"- Check Architecture.jpg
The service uses a streaming architecture:
- Kafka for message queuing and data streaming
- PostgreSQL for persistent storage with batch insertion optimization
- Spring Boot for REST API and service orchestration
Check .jpg file for Architecture diagram
Build from source:
docker-compose up --build- Check HighVolumeIngestionService.md
- You can check PDF also