Accelerating the Adoption of Java Microservices with Eclipse MicroProfile

| by Monica Beckwith Follow 621 Followers on Nov 08, 2017. Estimated reading time: 2 minutes |

InfoQ attended JAXLondon 2017 in October. One key highlight was a talk by Emily Jiang of IBM, who shed some light on an Eclipse based collaborative platform called Eclipse MicroProfile. This talk covered a brief history of Eclipse MicroProfile and then dove into the details of its fault tolerant abilities and then covered future plans of coverage and collaboration between Java developers.

MicroProfiles are a technology designed to help with configuring Microservices. While MicroProfile 1.0 was first released in September 2016, Eclipse MicroProfile 1.1 (released on August 2017) was the first one to be released under the Eclipse foundation.

MicroProfile 1.0 was based on Java EE 7 and uses a stack of CDI + JSON-P + JAX-RS. With Eclipse MicroProfile 1.1, a new MicroProfile config stack was introduced to help with portability.

Jiang provided deeper insights on the latest MicroProfile which has recently been released as version 1.2. This release has many new features including application-wide metrics and health checks by means of deployment to a single-core Kubernetes environment. A major new feature of 1.2 provides help with achieving fault tolerance. There is also a JWT where microservices can interact with each other in a secure environment.

The next major topic was the new fault tolerant API, beginning with a discussion of @Retry, @Timeout and @Bulkhead. @Bulkhead works by isolating threads (defaults to 10) such that a failure in one part of the system doesn’t bring the entire system down. An app could also use @Bulkhead with @Asynchronous to use a threading style of Bulkhead, which means the invocation will be on a separate thread.

As a part of its new fault tolerance and failure detection support, MicroProfile 1.2 includes @CircuitBreaker. This annotation tells the runtime that any break in circuit (also known as open-circuit) should result in immediate failure. A closed circuit will invoke services as designed.

The API also provides @Fallback support where a handler can be programmed to fallback to a default service when a selected service option is not available. This support needs to be provided at the application level since the underlying system can’t necessarily provide fallbacks.

To further the MicroProfile Fault Tolerance discussion, Jiang name-checked the Istio platform. If the Fault Tolerance capabilities from Istio are used all MicroProfile’s Fault Tolerance aspects except Fallback can be disabled, using the Istio equivalents instead.

Jiang presented a short section on roadmaps, mentioning Eclipse MicroProfile 1.3 which could add support for Open Tracing and Open API before an eventual Eclipse MicroProfile 2.0. This future release might be expected to be released with support for other EE8 technologies.

To conclude, Jiang provided a short demo of OpenLiberty to showcase MicroProfile 1.2 features. More details on all of the technologies can be found at the Eclipse Microprofile website.


Rate this Article

Adoption Stage

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread


Login to InfoQ to interact with what matters most to you.

Recover your password...


Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.


More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.


Stay up-to-date

Set up your notifications and don't miss out on content that matters to you