Book Image

Hands-On Cloud-Native Microservices with Jakarta EE

By : Luigi Fugaro, Mauro Vocale
Book Image

Hands-On Cloud-Native Microservices with Jakarta EE

By: Luigi Fugaro, Mauro Vocale

Overview of this book

Businesses today are evolving rapidly, and developers now face the challenge of building applications that are resilient, flexible, and native to the cloud. To achieve this, you'll need to be aware of the environment, tools, and resources that you're coding against. The book will begin by introducing you to cloud-native architecture and simplifying the major concepts. You'll learn to build microservices in Jakarta EE using MicroProfile with Thorntail and Narayana LRA. You'll then delve into cloud-native application x-rays, understanding the MicroProfile specification and the implementation/testing of microservices. As you progress further, you'll focus on continuous integration and continuous delivery, in addition to learning how to dockerize your services. You'll also cover concepts and techniques relating to security, monitoring, and troubleshooting problems that might occur with applications after you've written them. By the end of this book, you will be equipped with the skills you need to build highly resilient applications using cloud-native microservice architecture.
Table of Contents (14 chapters)

Bulkhead

This pattern is named bulkhead because it behaves as the partition of a ship to prevent the ship from sinking. It basically isolates the various compartments of a ship to avoid or minimize the risk of sinking.

The same applies to software, where one failure does not compromise the entire system. In IT, specifically when implementing a data access layer, the bulkhead pattern should be used for connection pools. Either a database, or HTTP connections that have one single connection pool, could compromise the entire system. Suppose your code does not release connections properly—the connection pool would be full of active connections very quickly, and in that case, services dealing with databases or other services via HTTP connections will not be able to function properly, even if they have to deal with different resources.

The following image depicts various applications...