Microservices Architecture is one of the approaches for implementing a service oriented architecture. This training helps gain expertise in developing a Microservices Architecture based solution. Application of Microservices principles to specific business requirements to build a scalable & performing solution. After completing this training, you would have gained the knowledge about various Microservices architectural styles, how to select the appropriate architecture design
- Spring Dependency Injection using XML and Java Configuration, Spring MVc Basics
- Basic understanding on REST Architectural principles
- Overview of Spring cloud and its modules
- Why DiscoveryServer?
- Client side load balancing
- How to Create a Eureka Server using @EnableEurekaServer or @EnableDiscoveryServer
- How to register Eureka Client using @EnableEurekaClient or
- How to look up a service from Eureka Server
- Configuring a cluster of eureka servers
LAB : Using Eureka Server and Client LAB : Configuring Eureka cluste
- Why ClientSide Load Balancing?
- What is ribbon and how to use spring ribbon?
- Using LoadBalanced RestTemplate
- Configuring Retries
- Using different Load balancing algorithms
LAB : Implementing Client side load balancing using ribbon
- What is a circuit breaker?
- Using Hystrix with Ribbon
- Various Hystrix configurations
- Hystrix Dashboard for monitoring
LAB : Using Hystrix as circuit breaker
LAB : Using Hystrix Dashboard
- What is a Feign?
- Implementing REST Clients in declarative approach
- Configuring Fallbacks using feign
- Hystrix configurations when using feign
LAB : Implementing REST Client using Feign
- Why API Gateway?
- What is ZUUL ?
- Disabling access to some services at zuul level
- Using Zuul Filters
LAB : Using ZUUL to enable Proxying microservices
- Configuring Server and client pointing to configuration file in github
- HTTP, resource-based API for external configuration
Lab : Using Configuration file configured in github
- What is Docker and how it works?
- Creating a docker image
- Running a Java App inside docker container
- Deploying Static Web Application using docker
- Understanding Docker compose
- Deploying Microservices using Docker
- Introduction to Logstash
- Configuring input and output pipelines
- Introduction to ElasticSearch and Kibana
- Starting a Docker container which has ELK Stack
- Configuring a Spring application to send logs to Logstash
- Configuring ElasticSearch and Kibana to visualize logs from logstash
LAB : Using ELK Stack
- What is Sleuth?
- How to use Sleuth for log tracing
- Streaming the Logs to Zipkin
- Analyzing logs using Zipkin
LAB : Using Sleuth and zipkin
- How Spring Security works?
- Various filters and their uses
- Configuring Spring Security using Java Config for Web App
- What is Oauth2 and How does it work?
- 4 Grant types in Oauth2
- Securing Rest Services using Password Grant Type
- Consuming a secured Rest Service using Oauth2RestTemplate
- Applying Security to Zuul proxy
- What is kubernetes?
- Discussion on various components in kubernetes
- Installing kubernetes
- Configuing Pod in kubernetes
- Confuring and addning deployments
LAB : Installing Kuberntes LAB : Creating and using Pods
LAB : Creating and using Replication Controller LAB : Creating and using Deployments