Book Image

Hands-On Enterprise Java Microservices with Eclipse MicroProfile

By : Cesar Saavedra, Heiko W. Rupp, Jeff Mesnil, Pavol Loffay, Antoine Sabot-Durand, Scott Stark
Book Image

Hands-On Enterprise Java Microservices with Eclipse MicroProfile

By: Cesar Saavedra, Heiko W. Rupp, Jeff Mesnil, Pavol Loffay, Antoine Sabot-Durand, Scott Stark

Overview of this book

Eclipse MicroProfile has gained momentum in the industry as a multi-vendor, interoperable, community-driven specification. It is a major disruptor that allows organizations with large investments in enterprise Java to move to microservices without spending a lot on retraining their workforce. This book is based on MicroProfile 2.2, however, it will guide you in running your applications in MicroProfile 3.0. You'll start by understanding why microservices are important in the digital economy and how MicroProfile addresses the need for enterprise Java microservices. You'll learn about the subprojects that make up a MicroProfile, its value proposition to organizations and developers, and its processes and governance. As you advance, the book takes you through the capabilities and code examples of MicroProfile’s subprojects - Config, Fault Tolerance, Health Check, JWT Propagation, Metrics, and OpenTracing. Finally, you’ll be guided in developing a conference application using Eclipse MicroProfile, and explore possible scenarios of what’s next in MicroProfile with Jakarta EE. By the end of this book, you'll have gained a clear understanding of Eclipse MicroProfile and its role in enterprise Java microservices.
Table of Contents (18 chapters)
Free Chapter
1
Section 1: MicroProfile in the Digital Economy
4
Section 2: MicroProfile's Current Capabilities
9
Section 3: MicroProfile Implementations and Roadmap
11
Section 4: A Working MicroProfile Example
13
Section 5: A Peek into the Future

MicroProfile Metrics

MicroProfile Metrics exposes the metric data (often called telemetry) of the running server, for example, CPU and memory usage, and the thread count. This data is then often fed into charting systems to visualize metrics over time or to serve capacity-planning purposes; of course, they also serve to notify DevOps people when the values go outside a predefined threshold range.

The Java Virtual Machine had a way to expose data for a long time via MBeans and the MBeanServer. Java SE 6 saw the introduction of an (RMI-based) remote protocol for all VMs defining how to access the MBean Server from remote processes. Dealing with this protocol is difficult and does not fit in with today's HTTP-based interactions.

The other pain point is that many globally existing servers have different properties exposed under different names. It is thus not easy to set up monitoring...