What you'll learn:
- You will learn to create springboot based microservices
- You will learn microservice concept of discovery service and registry
- You will learn microservice concept of config server
- You will learn microservice concept of API gateway
- You will learn microservice concept of circuit breaker
- You will learn microservice concept of API authentication with keyclock and Oauth2
Learn to implement SpringBoot based Microservices and RESTful API's architecture from scratch in a practical step by step approach.
Microservices architecture has many advantages like:
Improved productivity
Better resiliency
Increased scalability
Continuous integration/continuous delivery (CI/CD)
Optimize business functionality
and many more
We will be implementing many important concepts of microservices architecture like
Spring Cloud Config Server
Spring Cloud Bus
Spring Cloud Netflix Eureka
Spring Cloud Circuit Breaker
Spring Cloud Sleuth
Spring Cloud Gateway
Spring Cloud Stream
We will be creating many springboot projects from scratch from spring initializer, some of the microservice will be based on mongodb and some will work with mysql database.
Following are the steps we will cover:
1.1-Generating and Setting up of product service
1.2-Create product entity class with annotation
1.3-Create product repository
1.4-Creating controller and GET and POST endpoints
1.5-Test GET and POST endpoint with Postman
2.1-Generating and Setting up of booking service
2.2-Understanding Discovery service and Service registry
2.3-Generating and Setting up Discovery Service
2.4-Registering Product service as client to Discovery service
2.5-Registering Booking service as client to Discovery service
2.6-Understanding config server and centralized configuration
2.7-Create git repo and add properties files
2.8-Generate github token and use in Intellij to push code
2.9-Generating and Setting up of Configuration service
2.10-Configuring config server to fetch different profile based properties from github
2.11-Connecting booking service to config server on dev profile
2.12-Connecting product service to config server on dev profile
2.13-RefreshScope introduction
2.14-Implementing RefreshScope Part-1
2.15-Implementing RefreshScope Part-2
2.16-HarshiCorp vault setup part-1
2.17-HarshiCorp vault setup part-2
2.18-Storing booking service secrets in Vault
2.19-getting vault data in microservice
3.1-Implementing message broker
3.2-Installing RabbiMQ
3.3.0-Using RabbitMQ in microservice
3.3.1-Fixing the vault secret fetching issue
3.4-What is API Gateway
3.5-Setup and Configuration of API gateway
3.6-Testing the API's with API Gateway Part-1
3.7-Testing the API's with API Gateway Part-2
3.8-Installing and setting up Keycloak server
3.9-Configuring keycloak client and user
3.10-Configuring spring security filter in API Gateway to intercept request
3.11-Configure Product Service as Resource Server
3.12-Testing API Gateway and Keycloak security
4.1-Overview of Circuit Breaker Pattern
4.2-Generating the stock project from springboot starter
4.3-Implementing entity repository and controller
4.4-Configuring properties for stock service
4.5-Implementing entity controller repository for booking service
4.6-Implementing Feign client call from booking to stock service