Business-ready architecture. Work with an open source leader.
Try Payara Enterprise
Luxury German Vehicle Manufacturer Migrates from GlassFish to Payara Server
Download BMW Case Study PDF
Features CatalogPayara Platform Documentation
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
Learn how to configure and optimise the Domain Data Grid for high performance.
Learn about discovery modes and Data Grid Encryption options in the official documentation.
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.
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.
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.
Hazelcast in the Payara Platform offers several ways to configure how instances cluster. One new way is by using DNS records.
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.
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.
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