Skip to content

Java microservices using REST APIs, NoSQL and SQL-based backend databases, containerized the application, and deployed it over AWS Cloud. • Implemented functionalities - Distributed Tracing, Authorization & IAM, Kafka monitoring through Grafana & Prometheus. Designed AWS architecture with EC2 and RDS as a database with proper VPC configurations,

aditi55/Microservices

Repository files navigation

Microservices

Tools Required

  • SpringBoot - WebClient Spring framework
  • Eureka - Service Registration and Discovery
  • Swagger - API documentation
  • Docker - Containerization
  • Oauth2 KeyCloack - Authorization & IAM
  • PostgreSQL, MongoDB - Database
  • Resilienc4J - Circuitbreaker and Resiliency
  • Sleuth & Zipkin - Distributed Tracing
  • Kafka - Event-Driven Microservices Architecture
  • Prometheus and Grafana - Monitoring
  • AWS - Cloud

Build Tools

  • Java 17 - Programming
  • Maven - Build
  • Git - Version control
  • Docker - Deployment

Keynote

This application is built using Microservices architecture.

Rather than having a big monolithic application, application is broken down into smaller, independently running microservices.

List of microservices :

Microservice Language
SalonServices Service Java
Roster Service Java
Appointment Service Java

Solution Architecture

Screenshot 2023-11-17 104750

AWS Architecture

Screenshot 2023-11-19 232730

Output

  1. Implementation of Oauth2

    Screenshot 2023-10-29 131729

  2. Distributed Tracing

    Screenshot 2023-10-29 132849

  3. Circuit breaker pattern with Resilienc4J

    Screenshot 2023-10-29 133547

    Retry mechanism - After every 5 sec – 1 retry out of 3 total retries

    Screenshot 2023-10-29 133942

  4. Containerization of services

    1. Add Jib Plugin to pom.xml

    2. Build and Push the Image:

    Run the following Maven command to build and push the container image to the specified Docker registry :

mvn clean compile jib:build
docker compose up -d

Screenshot 2023-11-17 160905

  1. Service discovery and registration using Eureka Server

    Screenshot 2023-10-29 134244

About

Java microservices using REST APIs, NoSQL and SQL-based backend databases, containerized the application, and deployed it over AWS Cloud. • Implemented functionalities - Distributed Tracing, Authorization & IAM, Kafka monitoring through Grafana & Prometheus. Designed AWS architecture with EC2 and RDS as a database with proper VPC configurations,

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published