Building Microservices with Quarkus
Level: Intermediate / Duration: 3h45
Description
This course is for Quarkus developers who want to discover how Quarkus and MicroProfile handle microservices. It’s a mixture of slides and code so you can “Understand and Practice” at the same time. This way, you learn the theory, and then put it into practice by developing a microservice architecture step by step.
In this course you will develop two RESTful microservices that talk to each other. After introducing Microservices and MicroProfile, you will make sure your development environment is set up, and you will go from bootstrapping two Quarkus microservices, to running them as Docker containers. The different steps you’ll go through are:
- Understand Microservices
- Understand MicroProfile
- Check your development environment
- Develop two microservice that expose REST endpoints using JAX-RS and CDI
- Customize the JSON output with JSON-B
- Test the two microservices in isolation with JUnit and RESTAssured
- Configure each microservice
- Document each microservice with MicroProfile OpenAPI
- Establish the communication between microservices with MicroProfile REST Client
- Mock the microservice communication when testing
- Handle communication failure with MicroProfile Fault Tolerance
- Build a Linux executable with GraalVM out of each microservice
- Containerize each microservice with Docker and execute it
- Create and configure a Docker Compose file so both microservices can be executed in a single command
At the end of the course you’ll get a good understanding on how to implement RESTful microservices with Quarkus. You will be able to bootstrap, develop, package and execute a microservice architecture, but most important, take Quarkus microservices to your next project.
Good luck for the course, and please reach out if you need any help or if you have any request: I’m here to help!
Presenting "Building Microservices with Quarkus"
What you'll learn
- Understand the MicroProfile ecosystem and how Quarkus supports it
- Bootstrap two Microservices with Quarkus
- Develop, configure and test each microservice separately using JAX-RS, JSON-B, CDI, JUnit and RestAssured
- Use MicroProfile OpenAPI to document each microservice
- Use MicroProfile REST Client so microservices can communicate with one another
- Use MicroProfile Fault Tolerance so the communication between microservices can gracefully handle failure
- Generate native binaries thanks to GraalVM
- Build and execute Docker containers for each microservice
- Bundle both microservices into a single Docker Compose file and configure it so the entire system is executed with a single command
Requirements
- A recent Windows / Mac / Linux machine
- Knowledge of the Java language and the Java ecosystem (Maven, JUnit, GraalVM)
- Basic knowledge of Quarkus
- Basic knowledge of Microservices
- Basic knowledge of RESTful Web Services
- Basic knowledge of Docker
Who is this course for?
- Java developers who know Quarkus
- Quarkus developers curious about microservices
- Back-end Java developers willing to move to microservices
- Spring Boot or Micronaut developers wanting to compare their toolkit with Quarkus
Content of the course
- Lecture Overview (2:13)
- Exposing the Number REST Endpoint (6:29)
- Activity: Exposing the Number REST Endpoint (4:40)
- Customizing the JSON Output (3:54)
- Activity: Customizing the JSON Output (1:36)
- Documenting the Number Microservice (9:05)
- Activity: Documenting the Number Microservice (8:41)
- Configuring the Number Microservice (4:27)
- Activity: Configuring the Number Microservice (3:36)
- Testing the Number Microservice (4:57)
- Activity: Testing the Number Microservice (2:11)
- Next (1:54)
- Lecture Overview (1:55)
- Exposing the Book REST Endpoint (4:32)
- Activity: Exposing the Book REST Endpoint (6:08)
- Customizing the JSON Output (2:25)
- Activity: Customizing the JSON Output (2:00)
- Documenting the Book Microservice (4:34)
- Activity: Documenting the Book Microservice (4:14)
- Configuring the Book Microservice (2:03)
- Activity: Configuring the Book Microservice (1:43)
- Testing the Book Microservice (1:59)
- Activity: Testing the Book Microservice (4:14)
- Next (1:42)
- Lecture Overview (1:47)
- Building Native Linux Executables (4:02)
- Activity: Building Native Linux Executables (6:09)
- Containerizing Native Linux Executables (3:49)
- Activity: Containerizing Native Linux Executables (4:28)
- Executing Docker Containers (3:42)
- Activity: Executing Docker Containers (4:42)
- Next (1:02)