
Explore microservices characteristics, including componentized services, independent deployment, decentralized governance and data management, REST and MQ-based communication, and automated infrastructure.
Set up a currency conversion service within a microservices architecture using Spring Cloud to demonstrate service integration and deployment patterns.
Revisit how to set up a Spring Cloud microservices project, define endpoints with request mapping, and enable inter-service calls, then preview upcoming configuration techniques.
Set up the Spring Cloud configuration server for a Spring Boot project, manage dependencies across subprojects, and configure services using environment-specific properties and naming convention.
Learn how to manage configuration with git across spring cloud microservices in this course today.
Explore how to refresh microservice properties dynamically using a central repository and configuration files. Validate changes with deployment logs and trigger runtime updates across all service instances.
Secure sensitive configuration properties by moving from plaintext files to a centralized configuration server and encrypting values with symmetric or asymmetric methods, then decrypting them at runtime for use.
We covered how configuration is decoupled from source code and centralized via a configuration server, enabling dynamic refresh and securing property values. The next steps focus on discovery.
Explore how openfeign's feign client enables invoking remote services by defining a Java interface and a generated proxy, reducing boilerplate in Spring Cloud microservices.
Review service discovery in microservices with Spring Cloud, showing Netflix-style dynamic installation and removal of services without downtime, and introduce routing strategies to prevent single points of failure.
Explore how Zuul filters implement cross-cutting concerns like logging and security in gateway and microservice architectures, with pre, routing, and post phases.
Implement a Zuul post-filter to inspect and audit the downstream service response before sending it back, enabling response auditing and optional modifications, with browser testing.
Implement a circuit breaker in the flight schedule service to control timeouts and isolation, replacing combined properties with central configuration for predictable resilience.
Implement a fallback strategy in the flight schedule service to handle slow responses, provide user-friendly messages, and ensure graceful degradation during outages.
Explore bulkhead strategy to isolate downstream services, prevent cascading failures, and preserve availability by partitioning resource pools and handling non-conforming requests.
Wrap up and next steps outline strategies for building a microservices-based system, addressing slow performance, fallbacks, and isolating business logic with specialized tools to boost performance.
Integrate microservices with a Zipkin server to monitor data flow between services and visualize interactions on a dashboard.
Conclude the Spring Cloud microservices course by highlighting key takeaways and practical insights for building resilient services.
This course is designed for the Java/Spring developer who want to gain hands-on experience of how to build Microservice based applications. This course is aligned with Spring Boot and Spring Cloud project.
After this course, you will become an asset to any organization, helping leverage best practices around Microservice based Cloud solutions.
You will gain skills which will give you confidence to be a part of team working on new solution development or the migration of existing monolithic applications to cloud based solution with Microservice architecture style.
The Practical Guide: Step-By-Step
Section 1: Getting Started
Lecture#1: Course Introduction
Lecture#2: Course Structure
Lecture#3: Why this course is relevant to you?
Section 2: Microservices- The Basics
Lecture#4: What is Microservice?
Lecture#5: Characteristics of Microservice Architecture?
Lecture#6: Benefits of Microservice Architecture?
Lecture#7: Why we choose spring cloud in building Microservices?
Lecture#8: When not to use Microservices?
Section 3: Use Case: Rest Services Implementation
Lecture#9: Decomposing the Flight Booking Business into a set of Microservices
Lecture#10: Setting UP Flight Schedule Service
Lecture#11: Enhance the Flight Schedule Service
Lecture#12: Setting Up Currency Conversion Service
Lecture#13: Setting Up Flight Fare Service
Lecture#14: Test Flight Fare Service
Lecture#15: What Spring boot did behind the scene?
Lecture#16: Wrap Up & Next Steps
Section 4:Control Configuration with Spring Cloud
Lecture#17: Why we need centralization of configuration?
Lecture#18: Setup the Spring Cloud Configuration Server
Lecture#19: Manage configuration with Local file system
Lecture#20: Manage configuration with GIT
Lecture#21: Setup Configuration Client in our Microservices
Lecture#22: Testing Configuration client
Lecture#23: How to refresh the properties of the Microservice dynamically?
Lecture#24: How to secure sensitive configuration properties?
Lecture#25: Wrap Up & Next Steps
Section 5: Eureka Service Discovery
Lecture#26: What is service discovery and why do we need it?
Lecture#27: Setup Service Discovery using spring and Netflix Eureka
Lecture#28: Register our service with Eureka Server
Lecture#29: Setting up Cluster of Eureka Service Discover Servers
Lecture#30: Service Lookup from Eureka Server using Eureka Client
Lecture#31: Invoke Services using Ribbon BackedSpring Rest Template
Lecture#32: Invoke Services using OpenFeign’s Feign Client
Lecture#33: Wrap Up & Next Steps
Section 6: Routing with Spring Cloud and Netflix Zuul
Lecture#34: Introduction to Service Gateways
Lecture#35: Setup Service Gateway using Spring Cloud and Netflix Zuul API
Lecture#36: Routes Configuration in Spring Cloud and Netflix Zuul
Lecture#37: Custom Routes and its mapping with registered service in Eureka
Lecture#38: Manual Routes configuration in Zuul Service gateway
Lecture#39: What is Filters in Zuul?
Lecture#40: Implement Authentication Filter (Zuul Pre-Filter)
Lecture#41: Implement Response Audit Filter (Zuul Post-Filter)
Lecture#42: Implement Intelligent Route Filter (Zuul Rout-Filter)
Lecture#43: Wrap Up & Next Steps
Section 7: Client Resiliency with Spring Cloud and Netflix projects
Lecture#44: Resiliency in the Microservice based Application - What and Why?
Lecture#45: Implement Circuit Breaker in Flight Fare Service using annotation
Lecture#46: Implement Circuit Breaker in Flight Schedule Service using configuration
Lecture#47: Implement Fallback Strategy in Flight Schedule Service
Lecture#48: Implement Bulkhead Strategy
Lecture#49: How to fine tune Hystrix by some customization tweaks?
Lecture#50: Wrap Up & Next Steps
Section 8: Distributed Tracing
Lecture#51: Introduction
Lecture#52: Implement Spring Cloud Sleuth to generate traces
Lecture#53: Analyse the Sleuth Traces
Lecture#54: Setting UP Zipkin Server
Lecture#55: Integration of services with Zipkin Server
Lecture#56: Understand the Traces in Zipkin UI
Lecture#57: Setup Hystrix Dashboard and Turbine Cluster
Lecture#58: Monitoring using Turbine Stream
Lecture#59: Wrap Up