This course is all about Microservices with Spring Boot and Spring Cloud.
If you are working with Spring Boot and building REST APIs then this course is for you. Having microservices is the new trend.
In this course before jumping to microservices first you will understand what is monolithic application ?
We will create microservices out of monolithic application so that you have better idea how to break your application and create microservices out of it.
After that you will learn to use WebClient to make REST calls between your microservices. You might have used Rest Template but that is now deprecated and Spring 5 onwards it is not recommended to use.
There is another better open to make REST calls from Spring Boot Apps and that is Spring Cloud OpenFeign REST Client. It provides decalrative way to make REST calls from Spring Boot Apps.
Service Discovery & Registry is very important while working with microservices. This course covers Spring Cloud Eureka to register microservices so that we do not need to worry about URLs of different microservices.
Load Balancing is key when you have huge traffic and multiple instances for microservices. In this course we will achieve Client Side Load Balancing with Spring Cloud LoadBalancer.
Earlier Spring was providing Spring Cloud Netflix Ribbon to achieve client side load balancing but now its been deprecated and Spring Cloud Load Balancer is being used.
While working with microservices how to handle cross cutting concerns like Authentication, logging request and response ?
This can be achieved by Spring Cloud API Gateway. API Gateway is entry point for all microservices that you have. You will learn to have Pre and Post filters in API Gateway.
Earlier Spring was providing Zuul API Gateway but now its been deprecated and Spring Cloud API Gateway is being used.
What if one of your microservices is down ?
Here comes the importance of Fault Tolerance. This course covers practical implementation of Fault Tolerance & Circuit Breaker using Resilience4j. It also covers real world example of Circuit Breaker. Resilience4j internally uses Spring AOP ( Aspect Oriented Programming )
Earlier Spring was providing Spring Cloud Hystrix but now its been deprecated and Resilience4j is being used.
How to trace down a particular request ?
When your microservices are calling each other it becomes hard to identity where is the issue. But do not worry here comes Sleuth and Zipkin for that purpose. We can have Distributed Tracing with Sleuth and Zipkin. Zipkin Server provides UI to trace down the request.
Centralizing property files and having environment specific property file is needed for each microservice. This can be achieved using Spring Cloud Config Server. This course covers practical implementation of Spring Cloud Config Server using Git.
Below are the topics that this course covers –
- Monolithic Vs Microservice
- WebClient To Make REST Calls
- Spring Cloud OpenFeign REST Client
- Spring Cloud Eureka – Service Discovery & Registry
- Client Side Load Balancing with Spring Cloud LoadBalancer
- Spring Cloud API Gateway with Pre and Post Filters
- Fault Tolerance & Circuit Breaker with Resilience4j
- Distributed Tracing with Sleuth and Zipkin
- Spring Cloud Config Server
For this course you can use any database and any method to connect your database from your Spring Boot App. For example I will use MySQL database using Spring Data JPA in this course.
Who this course is for:
- Any Java Developer who wants to learn Microservices with Spring Boot
- Need to have knowledge of Spring Boot