Microservices with Spring Boot
Today I'm starting a course about microservices using Spring Boot, the lessons will start by describing the application we will do step by step, and we are going to learn the architecthure by creating a REST API.
So in my words a microservice is a small application with single responsabilities, for instance manage customers, emails, profiles and so on, this application will have the required collection of services to manipulate the domain.
Some advantage to use microservices are:
- We can deliver applications faster than monolitic, as we are delegating single responsabilities our microservices could grow in a independent way.
- Our microservices could be deployed without impact all the system.
- Maintain the microservice will be more easier
If you want to read about microservices go to: microservices.io, like I said this will be a practical course and I will not give all the concepts just the required ones.
Spring Boot Technologies
In order to have our architechture running we are going to need to use Spring Boot components and those will be:
- Eureka Service Discovery
- Eureka Service Registry
- Spring Cloud Config Server
- Histryx
- Netflix Zuul
Database
All our microservices will have their own database, PostgreSQL is a good choice for our purposes
Architechure Overview
In the next image you can see all the components involved in the solution.
Aplication
In this course we will develop a invoice management system, and we will have different microservices for the system and those are:
- Email: This microservice will have all the required endpoints to configure and send emails once the invoice is made.
- Invoicing: This microservice will have the required algorithms to create xml and pdf files for the invoice
- Customers: This service will be in charge to manage the clients of the invoice
For now the microservices listed will be enough, in the future more microservices will be added.
I guess is all for this entry, in the next post we going to configure the components of our architechture.
Thanks for reading and please I'll be honored if you have a feedback for this post.
If you liked the entry, here is the next post to continue the configurations
Creating a configuration server
This is very helpful for beginners.