MicroServices

MircoService = Component + Standard Interface (RESTFul with JSON) + Supported Environment (Authentication / Health Check / Metrics / Tracing / Fault Tolerance / Standard API Document)

Java EE MicroServices (MicroProfile)

MicroProfile specifies a collection of Java EE APIs and technologies which together form a core baseline microservice that aims to deliver application portability across multiple runtimes.

Eclipse MicroProfile = CDI + JAX-RS + JSON-P/JSON-B + MPs (MP config / MP Fault Tolerance / MP Health Check / JWT Authentication / MP Metrics/ OpenAPI / OpenTracing / Rest Client)

* Fault Tolerance

Eclipse MicroProfile Fault Tolerance provides the ability to separate execution logic from business logic. Key aspects of the API include TimeOut, RetryPolicy, Fallback, Bulkhead, and Circuit Breaker processing.

* Health Check

Eclipse MicroProfile Health Check provides the ability to probe the state of a computing node from another machine

* JWT Authentication

JWT Authentication provides role based access control (RBAC) microservice endpoints using OpenID Connect (OIDC) and JSON Web Tokens (JWT).

* Metrics

MicroProfile Metrics provides a unified way for MicroProfile servers to export monitoring data to management agents. Metrics will also provide a common Java API for exposing their telemetry data.

* OpenAPI

OpenAPI provides a unified Java API for the OpenAPI v3 specification that all application developers can use to expose their API documentation

* OpenTracing

MicroProfile OpenTracing defines an API and associated behaviors that allow services to easily participate in a distributed tracing environment.

* MicroProfile Rest Client

Eclipse MicroProfile Rest Client provides a type-safe approach for invoking RESTful services over HTTP. The MicroProfile Rest Client builds upon the JAX-RS 2.1 APIs for consistency and ease-of-use.

MicroProfile Implementations:

Reactive MicroServices

Reactive Systems are Responsive, Resilient, Elastic and Message Driven.

Akka and Vert.x are two commonly used reactive frameworks that run on top of the JDK

References

MicroService

Reactive MicroService