Microservices with Spring Boot and Spring Cloud
Program Overview:
This is an intensive hands-on course is aimed at experienced Spring developers. Learn how to quickly get started with Spring applications using Spring Boot. Learn how to arrange, configure and package Spring Boot applications. Learn all about the motivations and benefits of Microservices architecture. You will learn to deploy applications on to Pivotal Cloud Foundry and to bind to services. Learn all about Spring Cloud components like Zuul, Hysterix, Ribbon and Feign.
Program Duration: 2 Days
Prerequisite Skills:
INTRODUCTION TO SPRING BOOT
Day 2 :
Microservices Architecture
This is an intensive hands-on course is aimed at experienced Spring developers. Learn how to quickly get started with Spring applications using Spring Boot. Learn how to arrange, configure and package Spring Boot applications. Learn all about the motivations and benefits of Microservices architecture. You will learn to deploy applications on to Pivotal Cloud Foundry and to bind to services. Learn all about Spring Cloud components like Zuul, Hysterix, Ribbon and Feign.
Program Duration: 2 Days
Prerequisite Skills:
- This training assumes no prior knowledge of Spring Boot and Spring Cloud, but assumes strong working knowledge of the following:
- Spring Core - Dependency Injection, XML, Annotation and Java Config, ApplicationContext
- Resource Configurations , Datasources etc
- Spring MVC and RESTful Services
- Spring Reference Documentation
- Java JDK 1.8
- Eclipse for JEE [ Mars or Neon ]
- Pivotal CF account (Optional)
- MySql database
- A reliable and unrestricted internet connection
- Spring Boot
- Microservices Architecture
- Spring Cloud
- Deploying on Pivotal Cloud (Optional, time permitting)
- Spring Cloud Components - Eureka, Zuul, Ribbon, Hysterix
INTRODUCTION TO SPRING BOOT
- Spring Lifecycle, Spring Boot Introduction.
- Introducing Spring Boot
- Installing Spring Boot
- Structuring your code
- Spring Initializer,
- Spring Boot Dashboard
- Configuration, Auto-Configuration
- Packaging,
- SpringApplication class,
- External Configuration,
- Profiles and Logging
- Developing web applications
- Embedded servlet container support
- Web Development with Spring Boot
- Understanding IaaS, PaaS, and SaaS
- Understanding the Open nature of Cloud Foundry
- The Cloud Foundry Foundation
- App Centric platform
- Pivotal CF and Pivotal Web Services
Day 2 :
Microservices Architecture
- Basic Concepts
- SOA vs Microservices
- Spring Boot and Microservices
- RESTful services
- Hypermedia
- HATEOAS
- Service Granularity
- Why DiscoveryServer?
- How to Create a Eureka Server using @EnableEurekaServer or @EnableDiscoveryServer
- How to register Eureka Client using @EnableEurekaClient or @EnableDiscoveryClient
- How to look up a service from Eureka Server
- Why Client Side Load Balancing?
- What is ribbon and how to use spring ribbon?
- What is a circuit breaker?
- Using Hystrix with Ribbon and Feign
- Why API Gateway?
- What is ZUUL ?
- Configuring Server and client pointing to configuration file in github
- @EnableConfigServer
- HTTP, resource-based API for external configuration
- What is a Feign?
- Implementing REST Clients in declarative approach