Implementation of Reactive Microservices using Spring Boot
This project has 8 microservices:
-
Auth Service
Responsible for providing authentication using JWTs -
Discovery Service
Responsible for naming and providing information about other microservice instances -
Mail Service
Responsible for consuming emails from Apache Kafka and disbursement using SMTP -
Edge Service
Acts as a Gateway, routing requests to different microservices with authentication (if applicable) -
Open Service
Serves APIs that do not require authentication, i.e.: #, password recovery -
Product Service
Serves APIs related to products -
Order Service
Serves APIs related to orders -
User Service
Serves APIs related to user accounts
For synchronous communication, the services use WebClient, and for asynchronous communication, the services use Apache Kafka.