- Eduardo Cristóbal
- Linkedin: https://www.linkedin.com/in/ecristobale
- GitHub: https://github.com/ecristobale
- Email: Eduardo Cristóbal - email
The goal of this project is to create a microservices system using Spring Boot 3 and Java 17 . The following technologies and tools are used:
- Spring Cloud
- Swagger (OpenAPI)
- Spring Cloud Streams with Kafka
- Kafka topics:
- consumerReport for Kafka Consumer: on received invoke service for writing in MongoDB
- consumerCbReport for Kafka Listener (sending serialized entity as JSON string): on received invoke service for write in PostreSQL
 
- Docker: dockerized each microservice and resource (Kafka, Mongo DB, Postgre DB)
- Microservices: Registry Service (Eureka), Config Service, Feign, Load Balancer, Spring Cloud Gateway, Circuit Breaker pattern
- Spring Security Oauth2 + JWT
- Metrics with Zipkin: created custom span
- DBs: PostgreSQL and MongoDB
- Postman
- DBeaver and Studio 3t
- IntelliJ
- Visual Studio Code
- Sourcetree
- Docker Desktop
- 
Eureka Server registered some instances of companies microservice:  
- 
GitHub project with .yml files (profiles: default, prod and qa) for config-server:  
- 
Feign with Load Balancer to communicate between microservices:  
- 
Spring Cloud Streams with Kafka: consuming Kafka message and saving it to MongoDB:  
- 
Schema: circuit breaker (fallback part) with Kafka for writing operations:  
- 
Spring Cloud Streams with Kafka: Kafka listener event message received as JSON string and saving it to Postre DB:  






