Introduction
  • Introduction
  • REST Web Service
  • Understanding microservices
  • Java microservices learning path
Java basics
  • Installing JDK
  • Installing IntelliJ
  • Java hello world
  • Java data types and variables
  • Java operators
  • Java control flow statements
  • Importing a Java project into IntelliJ
  • Java class and object
  • Java inheritence
  • Java interface
  • Java package
  • Java method overloading - static polymorphism
  • Java constructor
  • Java this keyword
  • Java access modifiers
  • POJO, Java Bean and Serialization
  • Java dynamic polymorphism
Setting the stage for Spring Framework
  • Injecting an object
  • Annotation Annotation Annotation
Spring Framework and Spring Boot
  • Spring Framework and Spring Boot Introduction
  • A Hello World REST service using Spring Boot
  • Dependency Injection using the Spring Framework
  • Maven for build and dependency management
  • IntelliJ Quick Tip - Maven Reimport
  • Creating a Spring Boot application with multiple dependencies
  • Returning an object to REST API
  • JPA, ORM , Hibernate and Spring Data JPA
  • Installing a SQLite Database
  • Fetching data from database using Spring Data JPA
  • Spring Boot Advantages
  • Postman REST client
  • CRUD operations using Spring Data JPA
  • Exporting the application to a JAR file
  • Integrating services with RestTemplate
Mircoservices - Service Discovery
  • Service Discovery
  • Setting up a Eureka Discovery Server
  • Registering the Course app as a Eureka client
  • Integrating the Course Catalog app with the Course app through the Eureka server
Microservices - Fault Tolerance
  • What happens when the Course app goes down?
  • Handling failure with Circuit Breaker
  • Implementing Circuit Breaker with Netflix Hystrix
Course - Project
  • Course Catalog Project - Problem Statement
  • Building the User App
  • Querying the User App on a specific field in the User table
  • Enhancing the Course Catalog App to fetch data from the User App
  • Resources and Code on Github
Microservices - Externalizing Configuration
  • Why externalize Configuration properties?
  • Setting up a Spring Cloud Config Server with Git
  • Reading configuration from application.properties
  • Integrating Microservices with Spring Cloud Config Server
  • Refreshing configuration without restarting microservices
Microservices - Routing & Load Balancing
  • Dynamic routing using Netflix Zuul
  • Client Side Load Balancing using Netflix Ribbon
  • Congratulations & Thank You