Flexible HA & Scalability Architectures with Payara Server

Uncategorized

One of the lesser known features and key benefits of Payara Server is that it provides huge flexibility when architecting topologies for High Availability and Scalability. Utilising the embedded Hazelcast Data Grid for web session and JCache clustering brings the potential of many different topologies for scale out.

Cluster_Topologies.png

An example of some of the possible topologies is shown in the image above. The example shows two Hazelcast configurations – yellow and blue. Within a single configuration JCache and Web Session data is stored in all nodes within the same colour. In the image, nodes with a solid fill are hosting the application, nodes with no fill are in-memory data storage JVMs. The Payara Server instance types are shown within each node. Nodes with a lighter fill can be switched on or off, depending on the application load, to give elastic scalability. The topology is completely independent of the deployment across a number of physical host machines and could be spread across a number of physical hosts.

In the possible architecture visual you can see that storage of web session or cache data can be spread across more virtual machines than the application deployment. Also, web session and cache data can be stored in memory in non-Payara Server, or Payara Micro virtual machines. This gives great scalability advantages to technical architects designing Payara Server topologies.

By placing cluster data in additional virtual machines the availability of the data and the number of virtual machines is decoupled from the application deployment. This enables operations teams to completely take down an application without losing application data, or to devise rolling upgrade scenarios safe in the knowledge that no data will be lost.

Secondly, by using dedicated JVMs for storing application data in memory, the garbage collection ergonomics of these storage JVMs can be tuned for long term data storage with large old generations, whereas the application JVMs garbage collection can be tuned for high throughput.

Finally, with the “auto-clustering” capabilities of Payara Server, additional storage nodes or application processing nodes can be added on demand to increase scalability as the in-memory data needs grow.

Creating a shared Hazelcast configuration (one of the colours above) is as simple as ensuring your Payara Micro, Payara Standalone and Payara Server cluster instances all have the same Hazelcast configuration in the administration console.

CONCLUSION:

With Payara Server and Payara Micro you are not limited to traditional cluster architectures to scale out your web session and JCache data. Flexible in-memory data storage options are available without ever creating a traditional “cluster”.  Further additional capabilities for WAN replication and high density memory storage are available with Payara Scales.

Comments (3)

Post a comment

Your email address will not be published. Required fields are marked *

Payara needs the contact information you provide to us to contact you about our products and services. You may unsubscribe from these communications at any time. For information on how to unsubscribe, as well as our privacy practices and commitment to protecting your privacy, please review our Legal & Privacy Policy.

  1. S Gerr

    Hello, Steve. Very interesting. Payara Micro is really fine, but the only thing I would like to also see in PayaraMicro is JMS support. I’ve noticed that it is possible to make custom build of PM because it is open source. Could you please tell me which artifacts should I add to pom.xml to do that?

    1. Stephen Millidge

      Note I haven’t tested this.
      My first thought would be to take copy of the embedded-all module
      https://github.com/payara/Payara/blob/master/appserver/extras/embedded/all/
      Then add in the specific Payara Micro dependencies from the payara-micro pom

  2. P Das

    Request for user/admin guide for both full/micro.

Related Posts

How to Run and Scale AI Java Applications in Production: An Overview for Developers with no Machine Learning Expertise 9 minutes
Jakarta EE

How to Run and Scale AI Java Applications in Production: An Overview for Developers with no Machine Learning Expertise

Organizations are increasingly interested in adopting artificial intelligence (AI) and generative AI (GenAI) to improve operations and offer next-generation […]

Community_Announcement 4 minutes
Uncategorized

Leading the Way: Payara Platform Community 7 Beta Now Fully Jakarta EE 11 Certified

We’re excited to announce that Payara Platform Community 7 Beta application server is now fully certified as Jakarta EE 11 […]

Blue background with coral and fish. Left text: 'MONTHLY CATCH'. Right: laptop screen with tech tabs and Payara Community logo. 4 minutes
Community

The Payara Monthly Catch – August 2025

Welcome aboard the August 2025 issue of The Payara Monthly Catch! With summer in full swing, things may have felt […]