Building Microservices with Spring Boot and Spring Cloud
What you’ll learn
Build REST API’s using Spring Boot – Important Spring MVC Annotations
Build CRUD REST API’s using Spring Boot, Spring Data JPA and MySQL Database
Building Spring Boot Microservices in IntelliJ IDEA
Microservices Communication using RestTemplate, WebClient and Cloud OpenFeign
Centralized Configurations using Spring Cloud Config Server
Create Service Registry and Discovery using Spring Cloud Netflix Eureka
Create API Gateway using Spring Cloud Gateway
Load balancing with Eureka server and Open Feign using Spring Cloud LoadBalancer
Auto Refresh Config Changes using Spring Cloud Bus
Distributed Tracing with Spring Cloud Sleuth and Zipkin
Resilience4J: Circuit Breaker, Retry and RateLimiter Patterns
How to Add Step by Step New Microservice to Existing Project
Create React Frontend Microservice and Integrate with Backend Microservices
Event-Driven Microservices using Spring boot and Kafka
Event-Driven Microservices using Spring boot and RabbitMQ
Dockering Spring Boot Application Step by Step
Dockering Spring Boot MySQL CRUD Application Step by Step
Docker Compose for Dockering Spring Boot Application Step by Step
Requirements
Java
Spring Boot Basics
Familiar with IntelliJ IDEA
No Microservices experience needed. You will learn everything you need to know about Microservices
No docker experience needed. You will learn Docker essentials for deployment
Description
In this course, you will learn to build Microservices using Spring Boot, Spring Cloud, React, Kafka, RabbitMQ, Docker, and REST API (REST Web Services).Important Note: This course supports the latest Spring Boot 3 and Spring Cloud 2022.0.0.Microservices:A Microservice is a service built around a specific business capability that can be independently deployed. So, to build large enterprise applications we can identify the sub-domains of our main business domain and build each sub-domain as a MicroService using Domain Driven Design (DDD) techniques. But in the end, we need to make all these microservices work together to serve the end user as if it is a single application.Why Spring boot and Spring cloud are good choices for MicroServices?Spring Boot is the most popular and widely used Java framework for building Microservices. These days many organizations prefer to deploy their applications in a Cloud environment instead of taking all the headaches of maintaining a data center themselves. But we need to take good care of the various aspects to make our applications Cloud Native. There comes the beauty of Spring Cloud.Spring Cloud is essentially an implementation of various design patterns to be followed while building Cloud Native applications. Instead of reinventing the wheel, we can simply take advantage of various Spring Cloud modules and focus on our main business problem than worrying about infrastructural concerns.What you’ll learnBuild RESTful web services using Spring Boot – Learn Important Spring MVC AnnotationsBuild CRUD REST APIs using Spring Boot, Spring Data JPA, and MySQL DatabaseBuilding Spring Boot Microservices in IntelliJ IDEAMicroservices Communication using RestTemplate, WebClient, and Spring Cloud OpenFeignCreate Service Registry and Discovery using Spring Cloud Netflix EurekaLoad balancing with Eureka server and Open Feign using Spring Cloud LoadBalancerCreate API Gateway using Spring Cloud GatewayCentralized Configurations using Spring Cloud Config ServerAuto Refresh Config Changes using Spring Cloud BusDistributed Tracing with Spring Cloud Sleuth and ZipkinResilience4J: Circuit Breaker, Retry, and RateLimiter PatternsAdding Step-by-step new Microservice to Existing ProjectDockering Spring Boot Application Step by StepDockering Spring Boot MySQL CRUD Application Step by StepDocker Compose for Dockering Spring Boot MySQL CRUD Application Step by StepCreate React Frontend Microservice and Integrate with Backend MicroservicesEvent-Driven Microservices using Spring boot and KafkaTools and technologies used:1. Java 17+2. Spring boot3. Spring Cloud4. Microservices5. React6. Resilience4J framework7. Maven8. IntelliJ IDEA9. MySQL database10. Postman 11. Kafka12. RabbitMQ13. DockerSample amazing feedback from students on this course:Francis Dahryl N:” One of the best learning videos. Ramesh, the instructor, will guide every student until the end.”Juan Paulo L:”Amazing course, well structured, well documented, resourceful, if you really want to learn about microservices, spring boot and spring cloud you have to take this course now!”Tirtha S:”One of the best course for Microservices. Extraordinary explanations to the point. Thank you for providing us such a great course and helping us to gather the knowledge which we are required to know about microservices architecture. You are the best and Thank you once again.”Lakshman M:”I always admire you sir. You are an Inspiration & Guide to many Java Developers. Keep Doing More Udemy Courses Sir. Thank you”Furkan P:”This course teaches everything you need to start with microservices. You need a Java/Spring Boot background to follow up well! Great one!”Harsh S:”it is very good course if you want to get your hand dirty in the spring boot microservices”Check out all the reviews/ratings for this course in the Reviews section.
Overview
Section 1: Introduction
Lecture 1 Course Introduction
Lecture 2 What are Microservices Really All About?
Lecture 3 Best Way to Take this Course and How to Get Help
Lecture 4 Download Source Code and Lecture Notes in PDF
Section 2: Spring Boot REST API Development Basics
Lecture 5 Section Overview
Lecture 6 Create and Set up Spring Boot Project in IntelliJ IDEA
Lecture 7 Create Simple Spring Boot REST API – @GetMapping
Lecture 8 Spring Boot REST API returns Java Bean
Lecture 9 Create Spring Boot REST API returns List
Lecture 10 Spring Boot REST API with Path Variable – @PathVariable
Lecture 11 Spring Boot REST API with Request Param – @RequestParam
Lecture 12 Spring Boot POST REST API – @PostMapping and @RequestBody
Lecture 13 Spring Boot PUT REST API – @PutMapping and @RequestBody
Lecture 14 Spring Boot DELETE REST API – @DeleteMapping
Lecture 15 Using Spring ResponseEntity to Manipulate the HTTP Response
Lecture 16 Define Base URL for REST API’s in Spring MVC Controller – @RequestMapping
Lecture 17 Download Source Code of this Section
Section 3: Building CRUD REST API’s with MySQL Database
Lecture 18 Section Introduction
Lecture 19 Create and Setup Spring Boot Project in IntelliJ
Lecture 20 Configure MySQL Database in Spring Boot App
Lecture 21 Create User JPA Entity
Lecture 22 Create Spring Data JPA Repository – UserRepository
Lecture 23 Build Create User REST API
Lecture 24 Build Get User By ID REST API
Lecture 25 Build Get All Users REST API
Lecture 26 Build Update User REST API
Lecture 27 Build Delete User REST API
Lecture 28 Download Source Code of this Section
Section 4: Using DTO (Data Transfer Object) Pattern
Lecture 29 Understanding DTO Pattern
Lecture 30 How to Use DTO in Spring Boot Application
Lecture 31 Refactor Create User REST API to use DTO
Lecture 32 Create and Use UserMapper Class
Lecture 33 Refactor Get User By Id REST API to use DTO
Lecture 34 Refactor Get All Users REST API to use DTO
Lecture 35 Refactor Update User REST API to use DTO
Lecture 36 Download Source Code of this Section
Section 5: Using Mapping Libraries to Map Entity to DTO and Vice Versa
Lecture 37 ModelMapper and MapStruct Libraries Overview
Lecture 38 Using ModelMapper Library to Map Entity to DTO and Vice Versa
Lecture 39 Using MapStruct Library: Step 1 – Add Maven Dependencies
Lecture 40 Using MapStruct Library: Step 2 – Create Mapper
Lecture 41 Using MapStruct Library: Step 3 – Using Mapper and Test CRUD REST API’s
Lecture 42 Download Source Code of this Section
Section 6: Exception Handling in Spring Boot Application
Lecture 43 Spring Boot Default Error Handling Overview
Lecture 44 Spring Boot REST API Exception Handling Overview
Lecture 45 How to Create and Use Custom Exception – ResourceNotFoundException
Lecture 46 Handing Specific Custom Exception – ResourceNotFoundException
Lecture 47 Handing Specific Custom Exception – EmailAlreadyExistsException
Lecture 48 Spring Boot REST API Global Exception Handling
Lecture 49 Download Source Code of this Section
Section 7: Microservices Introduction
Lecture 50 Monolith Architecture and Challenges of Monolith Architecture
Lecture 51 What is Microservices & How It Solves the Challenges of Monolith Architecture
Lecture 52 Microservices Architecture Benefits and Best Practices
Lecture 53 Understanding Spring Cloud and It’s Important Modules
Lecture 54 Microservices Architecture with Spring Boot and Spring Cloud
Lecture 55 Let’s Draw Diagram Microservices Architecture for Our Project
Lecture 56 Microservice Applications and It’s Port Mapping
Lecture 57 This Project Supports Spring Boot 3 and Spring Cloud 2022.0.0 – Latest Versions
Section 8: Building Microservices
Lecture 58 How to Choose the Compatible Versions of Spring Boot and Spring Cloud
Lecture 59 Update on Spring Boot 3 Version
Lecture 60 Create Two Microservices – EmployeeService and DepartmentService
Lecture 61 Import and Setup 2 Microservices in IntelliJ IDEA
Lecture 62 DepartmentService – Configure MySQL Database
Lecture 63 DepartmentService – Create Department JPA Entity and Spring Data JPA Repository
Lecture 64 DepartmentService – Build Save Department REST API
Lecture 65 DepartmentService – Build Get Department REST API
Lecture 66 EmployeeService – Configure MySQL Database
Lecture 67 EmployeeService – Create Employee JPA Entity and Spring Data JPA Repository
Lecture 68 EmployeeService – Build Save Employee REST API
Lecture 69 EmployeeService – Build Get Employee REST API
Lecture 70 Download Source Code of this Section
Section 9: Assignments
Section 10: Microservices Communication
Lecture 71 Microservices Communication Overview
Lecture 72 Microservices Communication using RestTemplate
Lecture 73 Microservices Communication using WebClient
Lecture 74 Microservices Communication using Spring Cloud OpenFeign
Lecture 75 Download Source Code of this Section
Section 11: Service Registry and Discovery using Spring Cloud Netflix Eureka
Lecture 76 Understanding Service Registry
Lecture 77 Create and Setup service-registry Spring boot project in IntelliJ IDEA
Lecture 78 Spring Cloud Netflix Eureka Server Implementation
Lecture 79 Update on Using Spring Boot 3 Version
Lecture 80 Register DepartmentService Microservice as Eureka Client
Lecture 81 Update on using Spring Boot 3 Version
Lecture 82 Register EmployeeService Microservice as Eureka Client
Lecture 83 Running Multiple Instances of DepartmentService
Lecture 84 Load Balancing with Eureka, Open Feign and Spring Cloud LoadBalancer
Lecture 85 Download Source Code of this Section
Section 12: API Gateway using Spring Cloud Gateway
Lecture 86 Understanding API Gateway
Lecture 87 Create and Set up API Gateway Microservice in IntelliJ IDEA
Lecture 88 Update on Using Spring Boot 3 Version
Lecture 89 Register API-Gateway as Eureka Client to Eureka Server
Lecture 90 Configuring API Gateway Routes and Test using Postman Client
Lecture 91 Using Spring Cloud Gateway to Automatically Create Routes
Lecture 92 Download Source Code of this Section
Section 13: Centralized Configurations using Spring Cloud Config Server
Lecture 93 Why Spring Cloud Config Server
Lecture 94 How to Use Spring Cloud Config Server
Lecture 95 Create and Setup Spring Cloud Config Server Project in IntelliJ IDEA
Lecture 96 Update on Using Spring Boot 3 Version
Lecture 97 Register Config-Server as Eureka Client
Lecture 98 Set up Git Location for Config Server
Lecture 99 Refactor Department-Service to use Config Server
Lecture 100 Refactor Employee-Service to use Config Server
Lecture 101 Refresh Use case – No Restart Required After Config Changes
Lecture 102 Download Source Code of this Section
Section 14: Auto Refresh Config Changes using Spring Cloud Bus
Lecture 103 What is Problem using Spring Cloud Config Server
Lecture 104 How Spring Cloud Bus works
Lecture 105 Auto Refresh Config Changes using Spring Cloud Bus
Lecture 106 Download Source Code of this Section
Section 15: Distributed Tracing with Spring Cloud Sleuth and Zipkin
Lecture 107 Warning
Lecture 108 What Problem Distributed Tracing Solves?
Lecture 109 How Distributed Tracing Works
Lecture 110 Distributed Tracing using Spring Cloud Sleuth
Lecture 111 Distributed Tracing with Zipkin
Lecture 112 Download Source Code of this Section
Section 16: Circuit Breaker using Resilience4J Implementation
Lecture 113 Reference Links Used in this Section of the Lectures
Lecture 114 What Problem Circuit Breaker pattern Solves?
Lecture 115 How Circuit Breaker Pattern Works?
Lecture 116 Circuit Breaker Pattern implementation using Resilience4j – Part 1
Lecture 117 Circuit Breaker Pattern implementation using Resilience4j – Part 2
Lecture 118 Circuit Breaker Pattern implementation using Resilience4j – Part 3
Lecture 119 Retry Pattern Implementation using Resilience4j
Lecture 120 Download Source Code of this Section
Section 17: Refactor Code
Lecture 121 Refactor Employee-Service and Department-Service to use Mapper
Section 18: How to Add New Organization Microservice to Existing Project
Lecture 122 Section Overview
Lecture 123 Create Organization Microservice using Spring Boot
Lecture 124 Configure MySQL Database in Organization-Service
Lecture 125 Create Organization JPA Entity and Spring Data JPA Repository
Lecture 126 Create OrganizationDto and OrganizationMapper
Lecture 127 Build Save Organization REST API Build
Lecture 128 Get Organization By Code REST API
Lecture 129 Make REST API Call from Employee-Service to Organization-Service
Lecture 130 Update on Using Spring Boot 3 Version
Lecture 131 Register Organization-Service as Eureka Client
Lecture 132 Refactor Organization-Service to use Config Server
Lecture 133 Configure Spring Cloud Bus and Routes for Organization-Service in API-Gateway
Lecture 134 Implement distributed tracing in Organization-Service
Lecture 135 Download Source Code of this Section
Section 19: Creating React Frontend Microservice
Lecture 136 Section Overview
Lecture 137 Create React App using Create React App Tool
Lecture 138 Adding Bootstrap in React Using NPM
Lecture 139 Write HTTP Client Code to Connect React App with API-Gateway (REST API Call)
Lecture 140 Create a React Component and Integrate with API Gateway Microservice
Lecture 141 Design the Page to Display User, Department and Organization Details
Section 20: Dockering Spring Boot Application Step by Step
Lecture 142 General Docker Workflow
Lecture 143 Create Spring Boot Project and Build Simple REST API
Lecture 144 Create Dockerfile to Build Docker Image
Lecture 145 Build Docker Image from Dockerfile
Lecture 146 Run Docker Image in a Docker Container
Lecture 147 Push Docker Image to DockerHub
Lecture 148 Pulll Docker Image from DockerHub
Lecture 149 Download Source Code of this Section
Section 21: Dockering Spring Boot MySQL CRUD Application Step by Step
Lecture 150 Dockerizing Spring Boot MySQL Application Overview
Lecture 151 Pull and Run MySQL Image in a Docker Container
Lecture 152 Create a Dockerfile to Build the Image
Lecture 153 Implement Profile and Build Docker image
Lecture 154 Run Spring Boot App Docker Image in a Container and Test CRUD REST APIs
Section 22: Docker Compose – Dockering Spring Boot MySQL CRUD Application Step by Step
Lecture 155 Docker Compose Overview
Lecture 156 Configure and Run MySQL Image in a Container using Docker Compose
Lecture 157 Configure and Run Spring Boot in a Container using Docker Compose
Section 23: Event-Driven Microservices using Spring boot and Kafka
Lecture 158 What is Event Driven Architecture?
Lecture 159 How Event Driven Architecture Works and It’s Advantages
Lecture 160 Apache Kafka Core Concepts
Lecture 161 Install and Set up Kafka on Mac
Lecture 162 Install and Set up Kafka on Windows
Lecture 163 Event-Driven Microservices Project Architecture Overview
Lecture 164 Create 4 Microservices – OrderService, StockService, EmailService & Base-Domains
Lecture 165 Import and Setup 4 Microservices in IntelliJ IDEA
Lecture 166 Base-Domains Microservice – Create DTO Classes – Order and OrderEvent
Lecture 167 OrderService Microservice – Configure Kafka Producer
Lecture 168 OrderService Microservice – Configure Kafka Topic
Lecture 169 OrderService Microservice – Create Kafka Producer
Lecture 170 OrderService Microservice – Create REST API to Send Order and Test Kafka Produce
Lecture 171 StockService Microservice – Configure Kafka Consumer
Lecture 172 StockService Microservice – Create Kafka Consumer
Lecture 173 EmailService Microservice – Configure and Create Kafka Consumer
Lecture 174 Run 3 Microservices Together and Have a Demo
Lecture 175 Download Source Code of this Section
Section 24: Event-Driven Microservices using Spring boot and RabbitMQ
Lecture 176 What is RabbitMQ?
Lecture 177 RabbitMQ Core Concepts
Lecture 178 RabbitMQ Architecture
Lecture 179 Install and Setup RabbitMQ using Docker
Lecture 180 Explore RabbitMQ using RabbitMQ Management UI
Lecture 181 Event-Driven Microservices Project Architecture Overview
Lecture 182 Create 3 Microservices – OrderService, StockService and EmailService
Lecture 183 Import and Setup 3 Microservices in IntelliJ IDEA
Lecture 184 OrderService Microservice – Configure RabbitMQ Step By Step
Lecture 185 OrderService Microservice – Create RabbitMQ Producer
Lecture 186 OrderService Microservice – Create REST API to Send Message
Lecture 187 StockService Microservice – Configure RabbitMQ
Lecture 188 StockService Microservice – Create RabbitMQ Consumer
Lecture 189 OrderService Microservice – Configure Email Queue and It’s Binding
Lecture 190 OrderService Microservice – Sending Event to Email Queue
Lecture 191 EmailService Microservice – Configure RabbitMQ and Create RabbitMQ Consumer
Lecture 192 Run 3 Microservices and Have a Demo
Lecture 193 Download Source Code of this Section
This course for Java programmers who want to learn building RESTful Web services and Microservices using Spring Boot, Spring Cloud, Kafka, RabbitMQ and Docker.
Course Information:
Udemy | English | 18h 27m | 10.32 GB
Created by: Ramesh Fadatare (Java Guides)
You Can See More Courses in the Developer >> Greetings from CourseDown.com