What you would learn in Master Microservices with Spring Boot and Spring Cloud course?
It's fun to develop RESTful Web services and REST API. It's even more fun when you combine Java, Spring Boot, and Spring Web MVC with Spring Web Services and JPA. It's even more fun creating Microservices.
This course has two parts - RESTful Web Services and Microservices
Architectures are shifting towards microservices. RESTful web services are the first step towards developing great microservices. Spring Boot and Java, together with Spring Web MVC (also known as Spring REST), make it simple to create RESTful web service.
The first part of this course will teach you the basics of RESTful Web Services and how to create resources for a social media app. These resources can be implemented with multiple features, including versioning exception handling (Swagger), basic authentication, and filtering. In designing RESTful Web Services, you will be taught best practices.
This section of the course will teach you how to use Spring MVC (or Spring MVC), Spring Boot, Spring Security, Authorization, Spring Boot Actuator, Monitoring, Swagger (Documentation), Swagger, Maven (dependencies management), Eclipse, Postman (REST Services client), and Tomcat Embedded Web Server. We will set each one up.
The second part of this course will teach you the basics of Microservices. This course will teach you how to use Spring Cloud to implement microservices.
This part of the course will teach you how to communicate between microservices and enable load balancing. It also teaches you how to scale up or down microservices. Spring Cloud Config Server will allow you to centralize microservice configuration. You will use Spring Cloud Sleuth to implement Eureka Naming Server, Distributed Tracing, and Zipkin. With Zipkin, you will develop fault-tolerant microservices.
The third part of the course will teach you the basics and use of Docker. You will learn how to create containers for microservices using Docker and Spring Cloud.
The fourth part of the course will teach you the basics of Kubernetes. You will be able to manage microservices using Kubernetes.
STEP BY STEEP DETAILS
RESTful Web Services
Step 01 - Initializing a RESTful Services Project with Spring Boot
Step 02 - Understanding the RESTful Services we would create in this course.
Step 03 - Creating a Hello World Service
Step 04 - Enhancing the Hello World Service to return a Bean
Step 05 - Quick Review of Spring Boot Auto Configuration and Dispatcher Servlet - What's happening in the background?
Step 06 - Enhancing the Hello World Service with a Path Variable
Step 07 - Creating User Bean and User Service
Step 08 - Implementing GET Methods for User Resource
Step 09 - Implementing POST Method to create User Resource
Step 10 - Enhancing POST Method to return correct HTTP Status Code and Location URI
Step 11 - Implementing Exception Handling - 404 Resource Not Found
Step 12 - Implementing Generic Exception Handling for all Resources
Step 13 - Exercise: User Post Resource and Exception Handling
Step 14 - Implementing DELETE Method to delete a User Resource
Step 15 - Implementing Validations for RESTful Services
Step 16 - Implementing HATEOAS for RESTful Services
Step 17 - Overview of Advanced RESTful Service Features
Step 18 - Internationalization for RESTful Services
Step 19 - Content Negotiation - Implementing Support for XML
Step 20 - Configuring Auto Generation of Swagger Documentation
Step 21 - Introduction to Swagger Documentation Format
Step 22 - Enhancing Swagger Documentation with Custom Annotations
Step 23 - Monitoring APIs with Spring Boot Actuator
Step 24 - Implementing Static Filtering for RESTful Service
Step 25 - Implementing Dynamic Filtering for RESTful Service
Step 26 - Versioning RESTful Services - Basic Approach with URIs
Step 27 - Versioning RESTful Services - Header and Content Negotiation Approaches
Step 28 - Implementing Basic Authentication with Spring Security
Step 29 - Overview of Connecting RESTful Service to JPA
Step 30 - Creating User Entity and some test data
Step 31 - Updating GET methods on User Resource to use JPA
Step 32 - Updating POST and DELETE methods on User Resource to use JPA
Step 33 - Creating Post Entity and Many to One Relationship with User Entity
Step 34 - Implementing a GET service to retrieve all Posts of a User
Step 35 - Implementing a POST service to create a Post for a User
Step 36 - Richardson Maturity Model
Step 37 - RESTful Services Best Practices
Microservices with Spring Cloud
Step 01 - Part 1 - Introduction to Limits Microservice and Spring Cloud Config Server
Step 01 - Part 2 - Setting up Limits Microservice
Step 02 - Creating a hardcoded limits service
Step 03 - Enhance limits service to pick up configuration from application properties.
Step 04 - Setting up Spring Cloud Config Server
Step 05 - Installing Git
Step 06 - Creating Local Git Repository
Step 07 - Connect Spring Cloud Config Server to Local Git Repository
Step 08 - Configuration for Multiple Environments in Git Repository
Step 09 - Connect Limits Service to Spring Cloud Config Server
Step 10 - Configuring Profiles for Limits Service
Step 11 - A review of Spring Cloud Config Server
Step 12 - Introduction to Currency Conversion and Currency Exchange Microservices
Step 13 - Setting up Currency Exchange Microservice
Step 14 - Create a simple hardcoded currency exchange service
Step 15 - Setting up Dynamic Port in the Response
Step 16 - Configure JPA and Initialized Data
Step 17 - Create a JPA Repository
Step 18 - Setting up Currency Conversion Microservice
Step 19 - Creating a service for currency conversion
Step 20 - Invoking Currency Exchange Microservice from Currency Conversion Microservice
Step 21 - Using Feign REST Client for Service Invocation
Step 22 - Setting up client-side load balancing with Ribbon
Step 23 - Running client-side load balancing with Ribbon
Step 24 - Understand the need for a Naming Server
Step 25 - Setting up Eureka Naming Server
Step 26 - Connecting Currency Conversion Microservice to Eureka
Step 27 - Connecting Currency Exchange Microservice to Eureka
Step 28 - Distributing calls using Eureka and Ribbon
Step 29 - A review of implementing Eureka, Ribbon, and Feign
Step 30 - Introduction to API Gateways
Step 31 - Setting up Zuul API Gateway
Step 32 - Implementing Zuul Logging Filter
Step 33 - Executing a request through Zuul API Gateway
Step 34 - Setting up Zuul API Gateway between microservice invocations
Step 35 - Introduction to Distributed Tracing
Step 36 - Implementing Spring Cloud Sleuth
Step 37 - Introduction to Distributed Tracing with Zipkin
Step 38 - Installing Rabbit MQ
Step 39 - Setting up Distributed Tracing with Zipkin
Step 40 - Connecting microservices to Zipkin
Step 41 - Using Zipkin UI Dashboard to trace requests
Step 42 - Understanding the need for Spring Cloud Bus
Step 43 - Implementing Spring Cloud Bus
Step 44 - Fault Tolerance with Hystrix
- Spring Boot allows you to create and design RESTful web service designs.
- Create MICROSERVICES using Spring Boot and Spring Cloud
- With KUBERNETES, create microservices.
- Docker allows you to create containers for microservices
- IMPLEMENT Exception Handling and Validation, HATEOAS, and filtering for RESTful web Services.
- Client-side load balancing (Ribbon), Dynamic Scaling (Eureka Naming Server), and an API Gateway(Zuul) can be implemented.
- With Spring Cloud Config Server, you will set up Centralized Microservices Configuration.
- Learn how to use Spring Cloud Sleuth & Zipkin to implement distributed tracing in microservices
- Hystrix will allow you to implement fault tolerance for microservices
- You will learn how to modify your RESTful Web Services
- This tutorial will show you how to use Spring Boot Actuator to monitor RESTful Service Monitoring
- This video will show you how to use Swagger to document RESTful web services
- This course will teach you the best practices for designing RESTful web services.
- Spring Cloud Bus allows you to exchange messages regarding Configuration updates.
- Use Feign REST Client to simplify communication with Microservices