Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/anjola-adeuyi/banking-microservices

A modern banking management system built using microservices architecture, Spring Boot, and various other technologies.
https://github.com/anjola-adeuyi/banking-microservices

distributed-tracing eureka eureka-service-discovery restful-api spring spring-boot springcloud springcloudgateway zipkin zuul-api-gateway

Last synced: about 9 hours ago
JSON representation

A modern banking management system built using microservices architecture, Spring Boot, and various other technologies.

Awesome Lists containing this project

README

        

# Banking-Microservices

The "banking-microservices" app is a modern banking application built using microservices architecture, Spring Boot, and various other technologies for a solution addressed in the banking domain.

This banking management system uses microservices architecture, allowing for scalability, maintainability, and flexibility. It consists of multiple microservices, each responsible for a specific aspect of banking functionality.

## Spring Eureka Instances

Eureka facilitates service registration and discovery within the microservices architecture.


Spring Eureka Instances

The image below shows the Spring Eureka dashboard with instances currently registered.


Spring Eureka Instances

## Features

- **Microservice Architecture:** Utilizes a distributed architecture to enable independent deployment and scaling of different components.
- **Spring Boot:** Built using Spring Boot framework for rapid development and ease of configuration.
- **RESTful APIs:** Implements RESTful APIs for communication between microservices, enabling seamless integration and interoperability.
- **Service Registry:** Utilizes a service registry for service discovery and registration, facilitating dynamic routing and load balancing.
- **Config Server:** Implements a centralized configuration server to manage application properties across microservices.
- **Distributed Tracing:** Incorporates distributed tracing for monitoring and debugging microservices interactions.
- **API Gateway:** Implements an API gateway to handle routing, security, and cross-cutting concerns, providing a unified entry point for clients.

### Docker Instance

The image above displays a Docker instance running the Zipkin container image in isolated environments. I started the Zipkin via docker command of,

```
docker run -d -p 9411:9411 openzipkin/zipkin
```

Docker Instance

### Zipkin Tracing

The screenshots depict Zipkin, a distributed tracing system, in two states: without the API gateway configured and with the API gateway configured. It helps monitor microservices interactions and trace requests across the system.

#### Initial State:


Zipkin Initial State
Zipkin Initial State

#### Without API Gateway:


Zipkin Without API Gateway
Zipkin Without API Gateway

#### With API Gateway:


Zipkin With API Gateway
Zipkin With API Gateway

### 3. Postman API Calls

The screenshots showcase Postman making API calls to individual services. Initially, services are accessed directly, but with the API gateway configured, requests are routed through it.

#### Without API Gateway:

Postman Without Gateway


Postman Without Gateway
Postman Without Gateway

Postman With Gateway
Postman With Gateway