Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Udemy

Spring Boot Microservices with Spring Cloud Beginner to Guru

via Udemy

Overview

Learn to Master Spring Boot Microservices with Spring Cloud and Docker

What you'll learn:
  • Learn how to develop Microservices with Spring Boot
  • Learn how to deploy and manage Spring Boot Microservices with Spring Cloud
  • How to deconstruct a monolith into Spring Boot Microservices
  • Best Practices for Developing RESTFul APIs with Spring MVC
  • How to consume RESTFul APIs using Spring RestTemplate
  • Using Java Bean Validation with Spring Boot
  • How to use Project Lombok and MapStruct to reduce boiler plate code
  • Generate API documentation with Spring REST Doc
  • Configure Jackson for JSON processing with Spring Boot
  • Use JMS for messaging between Spring Boot Microservices
  • Use Spring State Machine to Apply the Saga Pattern with Microservices

Microservices are all the buzz in the industry right now.

Building a microservice is not just a matter of using RESTFul APIs.

Microservices are much MUCHmore than that.

In this course you will learn that Microservices are an architectural style. The allow companies to achieve massive scale while maintaining a high degree of flexibility.

This course goes beyond simple RESTful APIs and explores microservices as an architectural style.

** What Students are Saying about the Course **

5 STARS Great course, you can be sure about it. If you're fairly new to the java world and spring framework, I highly suggest to follow Spring Framework from beginner to guru (the teacher is always John). In my experience I can tell you that after the first course, I managed to progress in my career twice, with praises of my colleagues and managers. The content of both courses is very well explained and easy to learn. If you want to stand out, definitely this course worth the money.

5 STARS Very good course on microservices with Spring! It gave me a good starting point for the upcoming task at my work! 5* all the way for John!

5 STARS I like this course a lot! It's exactly what I needed after some experience with Spring Boot, to go to the next level. A lot of applications are presented, giving the opportunity to exercise what you've learned. The assignments are also very welcomed.

5 STARS Very VERY good content, well structured approach and clear explanations. Very enjoyable and educative. I'm even picking up a few techniques / frameworks I hadn't really used before.

About the Course

Traditionally, large enterprise class applications were developed as large monolithic applications.

The Spring Framework started as an alternative to J2EE(now JEE)for building these large monolithic enterprise applications.

As the industry evolved to favor microservices over monoliths, the Spring Framework and Spring Boot evolved also.

The Spring Framework gives you a battle-tested enterprise grade framework for building applications.

Spring Boot and Spring Cloud are tools specifically for the development of microservices using the Spring Framework.

Microservices present a unique set of challenges over monoliths. Spring Boot and Spring Cloud help you overcome these changes.

  • What are these challenges that microservices have, which traditional monoliths do not?

  • Is it okay for microservices to share databases?

  • How do you coordinate business logic across a series of microservices?

  • How do you manage transactions across serval microservices with different databases?

To explain these questions, in this course you get to explore a traditional Spring Boot monolith type of application. (Along the style of Spring Pet Clinic).

We will then re-create this monolithic application using a set of microservices.

You get to see, step by step how to build 3 different microservices.

Microservices are much more than just having a set of RESTFul APIs. Microservices frequently use asynchronous messaging systems, which is fully covered.

While the Spring Framework and Spring Boot are the tools you use to construct Microservices, Spring Cloud provides the tools to deploy microservices.

You get to see the latest tools in Spring Cloud for deploying Spring Boot Microservices into a distributed (or cloud) environment.

In 2018, Netflix announced several core projects to Spring Cloud were entering maintenance mode. Meaning no new development would be done on these projects.

Thus, in December of 2018, the Spring Cloud Team recommended several key replacements:

Previous Replacement

Hystrix --> Resliience4J

Ribbon --> Spring Cloud Load Balancer

Zuul 1 --> Spring Cloud Gateway

Archaius 1 --> Spring Cloud Config

Therefore, the recommend replacements are covered in this course.

Covered in this Course

In this course you will learn:

  • Develop RESTful Services using Spring MVC

  • Consume RESTFul Services with Spring RestTemplate

  • How to use Project Lombok

  • How to use MapStruct

  • Spring Data JPA with Hibernate

  • Configuration of Spring Boot for MySQL and H2

  • How to use and configure Jackson for processing JSONwith Spring Boot

  • Data validation with Spring Boot and Hibernate Validator

  • Documentation and testing of Spring Boot microservices using Spring RESTdocs

  • Standardizing dependencies using Apache Maven

  • Spring Application Events

  • Using JMSMessaging using Apache ActiveMQ Artemis

  • The microservice Saga Pattern

  • How to use Spring State Machine for coordinating Sagas

  • Integration Testing using Spring Boot and JUnit 5

  • Using WireMock with JUnit 5

  • How to use Awaitily in your Integration Tests

  • The APIGateway pattern using Spring Cloud Gateway

  • Load Balanced Routes using Netflix Ribbon / Spring Cloud Loadbalancer

  • Service Registration using Netflix Eureka

  • Service Discovery with Netflix Eureka

  • Service Discovery using Spring Cloud OpenFeign

  • Circuit Breaker Pattern using Reslience4J and Hystrix / Spring Cloud OpenFeign

  • Manage configuration with Spring Cloud Config

  • Distributed tracing with Spring Cloud Sleuth and Zipkin

  • Securing Spring Cloud with Spring Security

  • Use Docker to create images for your Spring Boot applications

  • Push your Docker Images to Docker Hub

  • Configure Logback with Logstash for JSONlogging output

  • Using Docker Compose to start and stop your microservices

  • Use ELK stack (Elasticsearch, Logstash, Kibana)for consolidated Logging

  • Provision virtual machines in the cloud for Eureka, Apache ActiveMQ Artemis, Spring Cloud Config, Zipkin, Elasticsearch, and Kibana.

  • Provision MySQLdatabases using Digital Ocean.

  • Create Docker Droplets (aka Virtual Machines) in Digital Ocean

  • Deploy Spring Cloud Config in the the cloud with Eureka

  • Create a Docker Swarm Cluster for Spring Boot Microservices

And much much more!

Inside the Course

  • Links all source code examples (Dozens of GitHub repositories are used for this course!)

  • Challenging Assignments

  • All slides are downloadable as PDFs for your reference and study

Course Extra - IntelliJ IDEA Ultimate

Students enrolling in the course can receive a free 4 month trial license to IntelliJIDEAUltimate! Get hands on experience usingthe Java IDEpreferred by Spring Framework professionals!

Course Extra - Access to a Private Slack Community

You're not just enrolling in a course --> You are joining a community learning Spring.

With your enrollment to the course, you can access an exclusive Slack community. Get help from the instructor and other Spring Framework Gurus from around the world - in real time! This community is only available to students enrolled in this course.

This is a veryactive Slack community with hundreds Spring Framework Gurus from around the world!

When you enroll in this course, you can join this community of awesome gurus!

Taught by

John Thompson

Reviews

4.5 rating at Udemy based on 5248 ratings

Start your review of Spring Boot Microservices with Spring Cloud Beginner to Guru

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.