Payara Feature: Domain Data Grid

Cluster Instances Running Your Applications Right Out-of-the-Box

Data Domain Grid
  • No configuration needed for Amazon AWS, Google Cloud, Microsoft Azure, Kubernetes, and LAN environments.
  • Data Grid Encryption
  • High Availability
  • JCache

Features CatalogPayara Platform Documentation

What is the Domain Data Grid?

The Domain Data Grid is a feature of Payara that enables easy clustering.

The Domain Data Grid makes it easy to create a cluster of Payara instances running your application and works right out-of-the-box in variety of network topologies with little to no configuration needed for Amazon AWS, Google Cloud, Microsoft Azure, Kubernetes, and LAN environments.

You can also share and store information for your application in the Domain Data Grid so it is accessible by all instances.

Domain Data Grid Benefits

Why You’ll Want to Use The Domain Data Grid

High Availability

The Domain Data Grid allows multiple Payara Server or Payara Micro instances to join and form a robust cluster of interchangeable nodes that can share data between each other, with data duplicated across one or more instances to grant High Availability and failover capabilities to any applications deployed in the cluster.

Scalability

Data stored in the Domain Data Grid is duplicated across one or more instances for high availability and as more instances are added, more JVM Heap is available for in-memory data storage. This allows the grid to scale to large data sets by adding more Payara Server or Payara Micro instances without loss of performance on updates or retrievals.

Elasticity

Payara Server and Payara Micro  instances can be added and removed and the Domain Data Grid will shrink and grow as required. This meets the needs of cloud and container based architectures which can scale up or scale down the number of Payara instances handling requests.

Data Sharing and Encryption

The Domain Data Grid allows multiple Payara Server or Payara Micro instances to join and form a robust cluster of interchangeable nodes that can share and transfer data between applications. Enable encryption and data stored in-memory via the Domain Data Grid will have end-to-end encryption of the data across all instances in the domain. End-to-end encryption is encryption of data both at rest (in storage) and in transit (during communication).

Light-Weight Domain Messaging

Typically you normally need a ‘system’ between the sender and receiver to transport data from one domain to another and possibly hold that data until receiver is able to process it. The Domain Data Grid is a light weight messaging transport system so you don’t need any additional resources and installation of components to send messages within the domain.

Little to No Configuration Needed

The Domain Data Grid simplifies clustering and works out-of-the-box – it’s enabled by default and little to no configuration is needed for Amazon AWS, Google Cloud, Microsoft Azure, Kubernetes, and LAN environments.

High Availability and Scalability

Achieve High Availability and Scalability with the Payara Platform Data Grid Cover

In production environments it is usually necessary to look at reliably hosting your application across multiple, redundant hosts to guarantee a reliable service and allow for future scaling. With Payara Server, it is possible to easily create and add instances to deployment groups using Hazelcast, making distributed application configuration a breeze.

Deployment Groups are a set of Payara Server instances that can be used to target resources and deployments which can be started and stopped together. Individual Payara Server instances can be in one or many deployment groups, or none at all, providing greater flexibility over traditional clustering.  Deployment Groups allow for a loose grouping of one or more Payara instances and they will cluster automatically by sharing a single configuration.

Application servers running Jakarta EE (Java EE) applications can be clustered to run the same set of applications and share workload management. Clustering makes it possible to scale beyond the capabilities of a single application server. Requests are automatically routed to the running servers in the event of a failure, providing high availability for enterprise applications.

Download Datasheet

Get Started with the Domain Data Grid

Learn How to Use the Domain Data Grid in Payara Server

Introduction to the Domain Data Grid

The Domain Data Grid is designed to be easier to use, more scalable, more flexible and ideally suited for cloud environments and cloud-native architectures.

Read More

Create a Domain Data Grid with a Load Balancer

In this video, learn how to use the Domain Data Grid and how to use it with a load balancer on Microsoft Azure in under 7 minutes.

Read More

How to Improve Domain Data Grid Performance

Learn how to configure and optimise the Domain Data Grid for high performance.

Read More

Domain Data Grid Documentation

Learn about discovery modes and Data Grid Encryption options in the official documentation.

Read More

Domain Data Grid and Clustering Blogs

  • Remote CDI Events in Payara Platform 26 Dec 2022

    The Jakarta Contexts and Dependency Injection API is the standard dependency injection framework on the Jakarta EE Platform. The latest version of the CDI specification that shipped withJakarta EE 10 is CDI 4.0. This release features a split of the core CDI API into Lite and Full. CDI Lite is designed to run in more restricted environments, and features a subset of the original features. CDI Full contains the Lite and all other features that were in core CDI in previous Jakarta EE releases.

  • Using Hazelcast SQL with Payara Micro 27 Sep 2021

    Co Authored with Nicolas Frankel (Hazelcast Developer Advocate), this article is also available as a PDF. The Hazelcast In-Memory Data Grid (IMDG) is an efficient method of storing data in a distributed way within the memory of the different processes of the cluster. Because it is distributed, searching the data locally requires 'moving' the data to your instance so it can be accessed, which is not overly efficient.  Hazelcast SQL allows distributed queries which perform the search where the data is, and then transfers only the results to your process. Since the Payara products already use Hazelcast IMDG, using the Hazelcast SQL capabilities is straightforward: just add the additional JAR library to start using it.

  • How to Connect Payara to External Hazelcast Grid 25 Mar 2021

    The Domain Data Grid feature of the Payara products is powered by the Hazelcast library. It provides the necessary functionality for the Deployment Group (clustering functionality), Cache functionality, CDI cluster singleton, and monitoring data storage within Payara to name just a few features. Since Hazelcast can cluster multiple instances into a data grid, it is possible to create a Hazelcast grid that comprises the Payara instances and some other instances included in other applications running outside of Payara.

  • Did You Know? Payara Platform Can Cluster By DNS 17 Dec 2018

    Hazelcast in the Payara Platform offers several ways to configure how instances cluster. One new way is by using DNS records.  

  • Using Hazelcast SQL with Payara Micro 27 Sep 2021

    Co Authored with Nicolas Frankel (Hazelcast Developer Advocate), this article is also available as a PDF. The Hazelcast In-Memory Data Grid (IMDG) is an efficient method of storing data in a distributed way within the memory of the different processes of the cluster. Because it is distributed, searching the data locally requires 'moving' the data to your instance so it can be accessed, which is not overly efficient.  Hazelcast SQL allows distributed queries which perform the search where the data is, and then transfers only the results to your process. Since the Payara products already use Hazelcast IMDG, using the Hazelcast SQL capabilities is straightforward: just add the additional JAR library to start using it.

  • Deploying to Payara Deployment Group Using the Maven Cargo Plugin 12 Mar 2021

    Introduction The Apache Maven Cargo Plugin allows you to deploy your application to a Payara Server, running locally or remotely. Using Maven as a build tool is an easy way to immediately deploy the application during the build to a test or production server. We have created a custom version of the Cargo Plugin which also supports the Deployment Group feature of the Payara Server.

  • How to Improve Domain Data Grid Performance 26 Jan 2021

    One of the cornerstones of any modern Payara Platform architecture is the use of the Domain Data Grid. The Domain Data Grid allows multiple Payara Server or Payara Micro instances to join and form a robust cluster of interchangeable nodes that can share data between each other and grant High Availability and Failover capabilities to any applications deployed in the cluster. 

  • 10 Strategies for Developing Reliable Jakarta EE Applications for the Cloud 27 Nov 2020

    What happens when an application designed for a small user base needs to be scaled up and moved to the cloud? It needs to live in a distributed environment: responding to an appropriate number of concurrent user requests per second and ensuring users find the application reliable.  Though Jakarta EE and Eclipse MicroProfile can help with reliable clustering, there is no standard API in Jakarta EE that defines how clustering should work currently. This might change in the future, but in the meantime, this gap must be filled by DevOps engineers. In this blog, we will cover 10 technical strategies to deal with clustering challenges when developing Jakarta EE and MicroProfile for cloud environments.

Features CatalogEcosystem and Integration Catalog

Back to top