COURSE NAME
Spring Boot and Microservices
The Spring Core
• Work with different types of Configuration
• XML Configuration
• Java Configuration
• Annotation Configuration
• Understand bean lifecycle
• Understand bean scopes
• Create Singleton and Prototype scoped beans.
• Profiles in Spring
• Using Spring Expression Language (SpEL)
• Querying and manipulating an object graph at runtime
AOP & Spring MVC
• Aspect Oriented Programming Core Concepts
• Understanding AOP Advice Types
• Before Aspect Example
• AOP Pointcut Methods
• AOP JoinPoints
• AOP After Advice Example
• AOP Around Aspect Example
• Understanding Spring MVC
• Creating a Spring MVC application
Getting Started with Spring Boot
• Introduction to Spring Boot
• Features of Spring Boot
• Using Spring Initializr
• Understanding Spring Boot Auto Configuration
• Exploring Spring Boot Annotations
• Configuring Application Properties
• Understanding Profiles
• Using Spring Boot Developer Tools
Building RESTful web services with Spring Boot
• Introduction to REST
• The GET, POST, PUT & DELETE methods
• The Accept & Content Type Headers
• Creating a CRUD REST API
• Implement JPA based repositories.
• Perform Validation and Exception Handling
• Documenting RESTful web services
• Versioning RESTful web services
• API monitoring using Spring Boot Acutator
Getting Started with Microservices
• Introduction to Microservices
• Monolithic vs Microservices Architecture
• The Advantages of Microservices
• The Challenges of Microservices
• Components of Microservices
• Introduction to Spring Cloud
• Netflix OSS & Spring Cloud
• Options for Hosting Microservices
• Testing Microservices
Service Registration and Discovery
• Understanding Spring Cloud
• Introduction to Eureka Server
• Creating the Eureka Server
• Registering the Eureka Client
• Looking up for services
• Building an Eureka Server and Client Application
Performing Client-side Load Balancing
• Introduction to Ribbon
• Configuring Ribbon
• Integrating Eureka and Ribbon
Communication between Microservices
• Introduction to Feign
• Configuring Feign
• Access services using Feign REST Client
Implementing Fault Tolerance
• The Importance of Fault Tolerance
• Introduction to Hystrix
• Configuring Hystrix
• Exploring Hystrix Dashboard
Implementing API Gateway
• Introduction to Zuul
• Implementing API gateway with Zuul
• Understanding Zuul Filters
Performing Distributed tracing
• Introduction to Spring Cloud Sleuth
• Configuring Spring Cloud Sleuth
• Introduction to Zipkin Server
• Tieing up Microservices to Zipkin
• Trace requests
Externalizing configuration
• Working with Spring Cloud Config Server
• Configure different Environments
• Create git repository
• Configure Config Server to utilize Git Repository
• Connecting Microservies to Config Server
Broadcasting Configuration Changes
• Introduction to Spring Cloud Bus
• Implement Spring Cloud Bus
• Introduction to Rabbit MQ
• Set up Rabbit MQ
• Connect Spring Cloud Bus with Rabbit MQ
Additional Requirement:
1. Prior programming experience.
2. Would be good to include Node JS, any one cloud (AWS / Azure / Google) and DevOps
3. Tool based screening for each batch