
Explore how microservices enable isolated, independently deployable services with centralized configuration, service discovery, and health checks to deliver scalable, resilient applications built with Spring Boot.
Learn how to integrate Hystrix circuit breakers into a Spring Boot microservices project, configure timeouts and fallbacks, and manage thread pools to improve resilience.
Learn to implement a custom Hystrix concurrency strategy that propagates the parent thread context, wrap Hystrix cores, and configure Spring Cloud to use it, with logging level setup for visibility.
Discover how to implement a gateway with Zuul in a Spring microservices setup, using Eureka for service discovery and custom routing to expose user and item services.
Learn how to add an authorization server and secure microservices with Spring Boot and Spring Cloud, including authentication, token handling, and web security configurations.
Explore how microservices with Spring Boot and Spring Cloud enable distributed tracing using a tracing service and paper trail, including correlation id propagation and trace id visibility.
Enable distributed tracing with Zipkin in a Spring microservices setup, visualizing how each transaction flows across services. Learn to propagate tracing headers and configure sampling to identify bottlenecks.
Fix the authorization service in a microservices setup by resolving database connectivity, server instances, and web service availability to restore secure access.
This course requires you have some of the Knowledge of Java and Spring Development. I won't cover every detail of the stuff presented in the course.
Pre-requisite For This Course
You already know the basics of Java and have some experience using it.
You know some basic knowledge of Spring Framework.
You are interested in microservice-based application and how to adapt it to the cloud.
You are interested in developing the microservice-based app using Spring
What is Microservices?
Microservices is a variant of the SOA (Service-Oriented Architecture) architectural style that make an application with a structure as a collection of loosely-coupled services. In the context of microservices, each service should be fine-grained and isolated. This improves modularity and makes the application easier to understand, develop and test.
Why Microservices?
As the online society is growing tremendously, enterprises are facing competitive pressures. This impact the way developers have to about building applications, which includes Complexity, Faster Delivery, Performance and Scalability and High Availability. To meet these expectations, a movement is going on towards decomposing applications into small services and move away from a single monolithic artifact. In this case, we can build systems that are Flexible, Resilient and Scalable.
Why Microservices and Cloud?
"Cloud" is kind of overused. Every software vendor has a cloud and every platform is cloud-enabled, but they usually can be categorized into three models: IaaS, Paas and Saas. With microservices in the cloud, service instances should be brought up quickly and each instance should be indistinguishable from another.
What is Spring Cloud and Why is it relevant to Microservices?
Spring is now the de facto development framework for building Java-based application. Spring Boot embraces core features of Spring delivering a framework geared toward Java-based, REST-oriented microservices. On the other hand, the Spring Cloud framework makes it simple to operationalize and deploy microservices to a private or public cloud. Basically, Spring Cloud is an umbrella project that wraps several popular cloud-management microservice frameworks.
What is Covered in This Course?
This course consists of 9 chapters. Chapter 1 and 2 talk about the general theory and how to develop with Spring Boot. Chapter 3 to Chapter 8 work on each of the core patterns focusing on solving the challenges presented in microservice-based architecture. We will go through the basics of each chapter and then focus on developing the code. Chapter 9 introduces Docker and AWS. We will build images for each service, set up an instance in AWS and push some images to AWS.