Standard Interface (RESTFul with JSON) +
Supported Environment (Authentication / Health Check / Metrics / Tracing / Fault Tolerance / Standard API Document)
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 =
MPs (MP config / MP Fault Tolerance / MP Health Check / JWT Authentication / MP Metrics/ OpenAPI / OpenTracing / Rest Client)
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.
Eclipse MicroProfile Health Check provides the ability to probe the state of a computing node from another machine
JWT Authentication provides role based access control (RBAC) microservice endpoints using OpenID Connect (OIDC) and JSON Web Tokens (JWT).
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 provides a unified Java API for the
OpenAPI v3 specification that all application developers can use to expose their API documentation
MicroProfile OpenTracing defines an API and associated behaviors that allow services to easily participate in a distributed tracing environment.
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.
Reactive Systems are Responsive, Resilient, Elastic and Message Driven.
Responsive: The system responds in a timely manner if at all possible.
Resilient: The system stays responsive in the face of failure.
Elastic: The system stays responsive under varying workload.
Message Driven: Reactive Systems rely on asynchronous message-passing to establish a boundary between components that ensures loose coupling, isolation and location transparency.
Vert.x are two commonly used reactive frameworks that run on top of the JDK
Akkahas indepented event queue.
Vert.xuses Event Bus