
Explore the microservices architectural style and implement it with Spring Cloud, including Spring Boot, Spring Data REST, Spring Cloud Config, Spring Cloud Eureka, Ribbon, and Hystrix, through hands-on exercises.
Provides a description of the meaning of the Microservices architectural style, and begins to demonstrate it by showcasing the characteristics of a monolithic application.
Provides an explanation of the microservices architectural style by contrasting point-by-point with the previously described characteristics of the monolith. Outlines the relative advantages and disadvantages of each style, and provides guidance for applying the microservices style.
Explains the fundamental nature and purpose of Spring Boot, beginning with the very basics.
Guided explanation of Spring Boot web applications, WAR deployment, and Thymeleaf templating
Guided explanation of Spring Boot web applications utilizing JSPs, RESTful services, JSON, and XML
Adding Spring Data JPA to a Spring Boot application.
Adding Spring Data REST to a Spring Boot application.
A brief explanation of the Spring family of projects, where Spring Cloud fits in, and a bit of history surrounding the impact of Netflix technology.
A justification and explanation of Spring Cloud Config, and a step-by-step guide to creating your own Spring Cloud Server and Clients.
An explanation of service discovery, how to create a Eureka server and client, high-availability options, plus a brief mention of Zookeeper and Consul.
An exploration of server-side and client-side load balancing, and a practical guide to using the Spring Cloud Load Balancer on a client.
A focused exploration of Open Feign, and how to use it to implement REST clients via a declarative style.
Explore the Spring Cloud circuit breaker pattern to guard against cascade failures, using resilience for Jay with Spring Cloud, configuring sliding windows, failure and slow-call thresholds, and fallback strategies.
This module re-visits Spring Cloud Config, and demonstrates how to make changes dynamic using Spring Cloud Bus. It also explores how @RefreshScope and @ConfigurationProperties can be used to make an application resilient to live refresh.
Summary of what we've learned in this course, guide to further resources.
A brief explanation of the Spring family of projects, where Spring Cloud fits in, and why Netflix technology is featured so much.
A justification and explanation of Spring Cloud Config, and a step-by-step guide to creating your own Spring Cloud Server.
Continued discussion of Spring Cloud Config focusing on the client side, repository organization, YML vs property files, and an explanation of the Spring Cloud application's startup process.
An explanation of passive service discovery, how to create a Eureka server, and how to register a Eureka client.
An exploration of server-side and client-side load balancing, and a practical guide to using Ribbon on a client.
A focused exploration of Feign, and how to use it to implement REST clients via a declarative style.
This module examines the idea of circuit breakers in software, and describes how to use Hystrix with Ribbon and Feign.
This module re-visits Spring Cloud Config, and demonstrates how to make changes dynamic using Spring Cloud Bus. It also explores how @RefreshScope and @ConfigurationProperties can be used to make an application resilient to live refresh.
Explore the api gateway pattern for microservices, its role as a single point of contact for clients, and how Spring Cloud Zuul provides routing, load balancing, and caching.
Examine caching options for microservices behind an api gateway, including http headers, expires and etags. Implement shallow etags with spring and optimize rest calls, while noting feign limitations.
Explore protocol translation via the API gateway, translating REST requests into JMS, AMQP, or SOAP calls using Spring Integration and adapters, with Zuul handling routing.
Microservices with Spring Cloud is an online workshop designed to help you learn the Microservices architectural style, and how to implement it using Spring technologies
This course provides a good, solid introduction to the topic of the Microservices architectural style, and combines this with practical experience gained by working through the exercises featuring Spring Cloud.
Along the way, this course will provides a brief introduction to Spring Boot and Spring Data (enough to get you familiar with these technologies if you have not been immersed in them already).
The course provides exercises that provide you with hands-on experience working with the various components of Spring Cloud.
The goal of this course is to serve as a practical guide through the Spring Cloud projects, so you can see how they are used to implement microservice based architecture.
By the time you finish this course, you will have gained the ability to articulate what the Microservices architectural style is all about, including its advantages and disadvantages.
You will gain familiarity with Spring Boot, and you'll see how to use it to build web interfaces, REST interfaces, and how to use Spring Data and Spring Data REST.
You will gain the ability to build microservice-based applications utilizing Spring Cloud technologies. You will learn about
Centralized, versioned configuration management using Spring Cloud Config
Dynamic configuration updates with Spring Cloud Bus
Service discovery with Spring Cloud Eureka
Client Side Load Balancing
Declarative REST Clients with Open Feign
Software Circuit Breakers with Resilience4J.