Skip to content

This project is a Java Spring Boot microservices PoC that leverages Apache Kafka for event-driven communication, a RestTemplate Factory for dynamic and centralized HTTP client configuration, and the Strategy Design Pattern for flexible, pluggable business logic execution. It also includes a custom Filter layer to handle request validation.

Notifications You must be signed in to change notification settings

Saurabhsds13/Java-Microservices-Kafka

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java Microservices Kafka POC

This repository demonstrates a Proof-of-Concept (POC) microservices architecture using Apache Kafka as the backbone for asynchronous communication between services. The project leverages Spring Boot for rapid microservice development, integrates with Cassandra for data storage, and uses RestTemplate for synchronous HTTP interactions.

Features

  • Microservices communication via Apache Kafka
  • Built with Spring Boot
  • Data persistence with Cassandra
  • RESTful endpoints using RestTemplate

Technologies Used

  • Java
  • Spring Boot
  • Apache Kafka
  • Cassandra
  • RestTemplate

Getting Started

Prerequisites

  • Java (JDK 8 or higher)
  • Apache Kafka
  • Cassandra
  • Maven

Setup & Installation

  1. Clone the repository:

    git clone https://github.com/Saurabhsds13/java-microservices-kafka.git
    cd java-microservices-kafka
  2. Configure Kafka and Cassandra as per your environment.

  3. Build the project:

    mvn clean install
  4. Start each microservice (replace <service-directory> with actual service directories):

    cd <service-directory>
    mvn spring-boot:run

Running the Project Locally

  • Ensure Kafka and Cassandra are running.
  • Start all microservices as described above.
  • Each service exposes REST endpoints; you can interact with them using tools like Postman or curl.

Example Usage

  • Microservices communicate asynchronously via Kafka topics.
  • Synchronous REST calls are made using RestTemplate.
  • Data is persisted in Cassandra.

Contributing

This project is a personal POC and is not currently accepting external contributions.

Maintainer

  • Saurabhsds13

Feel free to customize this README with more details about each microservice, environment variables, or usage examples as needed!

About

This project is a Java Spring Boot microservices PoC that leverages Apache Kafka for event-driven communication, a RestTemplate Factory for dynamic and centralized HTTP client configuration, and the Strategy Design Pattern for flexible, pluggable business logic execution. It also includes a custom Filter layer to handle request validation.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages