Was great to listen to Aleksander and Dimitri talk about “Scalable Microservices for Java using Helidon and Coherence CE” in the Oracle Developer Live – Java Innovations online session a couple of days ago.
A lot of great information about Helidon and Coherence and how to combine them to create Microservices based applications.
The YouTube replay is below plus a few useful links to useful information!
A new and updated version of the Open Source Coherence VisualVM Plugin has just been released!
This new release contains a number of new features (as well as a few bug fixes) which will make using the Plugin much easier.
You can view the release notes here or read on to find out more.
We have added a new Options panel to allow easier setting of various functionality rather than having to specify properties on command line. Once the Plugin is installed, you can access via VisualVM->Preferences on Mac or Tools->Options on Windows or Linux.
Taking Multiple Thread Dumps
You have previously been able to take thread dumps by right-clicking on a member on the Members tab, but now you can also choose Generate Multiple Thread Dumps. This is useful especially in a support situation or you just want to understand what the thread are doing.
Saving and Copying Thread Dumps
Going hand in had with the above, we have enhanced the thread dump dialog to include additional node and cluster information as well as give you the ability to save or copy the contents to the clipboard.
We have added some “experimental” features, that can be enabled in the new options panel, that may be included as standard features down the track. Please feel free to provide feedback on any of these below:
Added experimental tab to display Coherence Topics information
Added experimental option to issue thread dump across all members
Added experimental “Cluster Snapshot” Tab which gives a text based snapshot of the cluster which you could cut/paste to assist in diagnosis of issues.
Installing the Update
If you already have the plugin installed, then within VisualVM Choose Tools -> Plugins from the main menu and click on Check for Updates if it doesn’t already show in the Updates tab.
If this is your first time using the Coherence VisualVM Plugin, see the GitHub Page for instructions to install.
You can now explore the metrics exposes via Coherence.
How it Works
If you take a look at the docker-compose.yaml file you will see a number of sections for each of the Docker Images.
The Coherence image exposes metrics via setting the coherence.metrics.http.enabled=true and ensures that the default metrics port, 9612 is exposed amongst other ports 30000 for management over REST, 20000 for Coherence*Extend and 1408 for gRPC proxy.
Helidon version 2.2.0 has just been released and supports the MicroProfile GraphQL specification from the Eclipse Foundation. Using Coherence’s MicroProfile integration with Helidon, it is now easy to access Coherence data via a GraphQL endpoint.
Having worked on updating Helidon to support the MicroProfile GraphQL Spec last year, I’m looking forward over the next couple of months to share tips, tricks and examples of how this works in detail.
Please take a look at my Medium Post where where I take you through updating the Coherence To Do example with a GraphQL endpoint.
Coherence Community Edition (CE) 20.12 has just been released. The full Medium post can be found here, but I have included some summary information below.
This release is the second major 6 monthly release of Coherence CE and includes some exciting new features and capabilities:
Bootstrap API – A new simple API for configuring and starting Coherence cluster members – see the documentation
GraphQL Support – Along with Helidon 2.2.0, you can expose GraphQL endpoints to access and mutate your Coherence Data – see the Helidon blog for more information. Look out for a Coherence example early in the new year
Parallel Recovery for Coherence Persistence – A great enhancement to the Persistence feature to decrease the startup and recovery times for Coherence clusters – see the documentation
Micrometer Metrics – Support for Micrometer metrics – see the documentation
Have a safe and happy holiday break and see you in the new year!
The second part of Aleks Seovic’s article in Java Magazine has now been published!
In part 2, Aleks walks through building React and JavaFX front ends to integrate with the REST API that was developed in part 1.
The React client uses REST and the JavaFX client uses our new gRPC based Java client and gRPC proxy server built upon Helidon’s gPRC Server. The new gRPC support provides a modern connection capability for Coherence clients. At the moment there is only a Java based gRPC client but there are plans to provide gRPC support for a number of languages. (watch this space!).
Previously, the only way to access Coherence from a Node.js application was via REST, but now you have the capability to access Coherence caches via a native JS API with familiar Map interface along with the capabilities of querying, aggregations, in-place processing and events.
It’s as easy as adding the dependency to your package.json file:
If you didn’t get a chance to attend Coherence Architect Aleks Seovic’s talk on “Managing State in Elastic Microservices”, then the recording is now available on YouTube. This was the September 2020 Jakarta Tech Talks session.
In this talk, Aleks runs through the Helidon Sock-Shop Demo, which is the modern day microservices equivalent of the old “Pet Store Demo”. The demo showcases Coherence Community Edition (CE) and the Helidon Microservices framework and how to write modern and scalable microservices applications.
I particularly liked the part where he scaled his Coherence cluster to 1TB running on Kuberenetes!
Copyright (c) 2017 Tim Middleton and other contributors. All Rights Reserved. The views expressed in this blog are our own and do not necessarily reflect the views of Oracle Corporation. All content is provided on an 'as is' basis, without warranties or conditions of any kind, either express or implied, including, without limitation, any warranties or conditions of title, non-infringement, merchantability, or fitness for a particular purpose. You are solely responsible for determining the appropriateness of using or redistributing and assume any risks.