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 MUCH more than that.
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 MUCH more 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 JSON with 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 JMS Messaging 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 API Gateway 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 JSON logging 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 MySQL databases 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 IntelliJ IDEA Ultimate. Get hands on experience using the Java IDE preferred 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 very active 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.
Welcome to the Spring Boot Microservices course!
Learn about the applications you will build in your Spring Boot Microservices course.
In this lecture you will get tips and advice on how to get the most out of your Spring Boot Microservices with Spring Cloud course.
In this lecture you will learn about setting up your development environment for your Spring Boot Microservices with Spring Cloud course.
Join the Slack Group for the Spring Boot Microserviecs course!
In your Spring Boot Microservices with Spring Cloud course, you will see the IntelliJ Ultimate IDE used. (This IDE is not required to complete the course)
Students enrolling in Spring Boot Microservices with Spring Cloud, can register to get a free 120 trial of IntelliJ IDEA Ultimate.
Preview of the section of the course Introducing Microservices, and road map overview of upcoming sections.
Learn about traditional monolithic applications
Learn what microservices actually are and how microservices are different from traditional monolithic applications
When companies start using microservices, there are challenges they will face in the transition from traditional monoliths to microservices.
Microservices at a higher level are a design pattern.
Spring Boot has a set of developer tools to help you with you code. In this lecture learn how Spring Boot Developer tools can help with your development activities.
Quiz covering Spring MVC
In this lecture you will learn how to create a new Spring Boot project using the Spring Initializer.
Spring Boot 2.1 uses JUnit 4. In Spring Boot 2.2, the Spring team moves to JUnit 5, which is used throughout the course.
In this section you will learn about how Spring Boot automatically configures Spring's RestTemplate.
Spring Boot has several validation features not found in Spring MVC. Learn about Spring Boot's method validation in this lecture.
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.