Payara Feature: Deployment Groups
Extremely Flexible, Automatic Clustering in Payara Server
What is a Deployment Group?
The Deployment Group is the clustering feature of Payara Server.
Deployment Groups can be used as a target for deployments and other resources so that each are performed on the instances assigned to the Deployment Group. Payara Server’s Deployment Groups are an extremely flexible form of clustering as each instance can be part of one or more Deployment Groups.
When a Deployment Group is restarted, a rolling restart of each instance is performed to ensure the information contained in the Domain Data Grid is kept.
Deployment Group Benefits
Why You’ll Want to Use Deployment Groups
Achieve failover with Deployment Groups – if one instance fails, another can pick up the workload.
Distribute projects across nodes to reduce overhead and use resources flexibly.
Deployment Group duplication provides greater processing power.
As user base grows, resources can grow.
Simplified Lifecycle Management
Clustering simplifies the management of large/rapidly growing systems and can start and stop all servers in a cluster or individual servers.
No Data Loss During Restart
Deployment Groups support rolling restart which is Domain Data Grid aware – all instances in the group are stopped and then started in turn, giving the Data Grid enough time to adapt and providing no loss of data during the restart.
High Availability and Scalability
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.
Get Started with Deployment Groups
Learn How to Use Deployment Groups in Payara Server
Introduction to Deployment Groups
The Deployment Group is complimentary to the Domain Data Grid, providing additional clustering capabilities.
Create a Simple Deployment Group
Learn how to set up a simple deployment group containing two instances.
Clustering and Deployment Groups
Learn how to install Payara Server remotely while setting up a new node. (The cluster will set up automatically via a Domain Data Grid. )
Deployment Groups Documentation
Learn why we replaced traditional clusters with deployment groups in Payara Server 5, and how to create, delete, and manage your deployment groups.
All Deployment Group Resources
- Migrating a WildFly Cluster to Payara Server 5
- Migrating from WildFly to Payara Server
- GlassFish to Payara Server 5 Migration Guide
- Introduction to Payara Server Docker Nodes
- Payara Platform and Jelastic PAAS
- Features of Payara Server
- Integration and Automation Tools
- How to Run a Payara Server Deployment on Microsoft Azure
- Payara Server 4 to 5 Migration Guide
- Payara Server 5 Administration Cheat Sheet
- Payara Server Enterprise 5 Datasheet
- WebLogic 12 to Payara Server 5 Migration Guide
- Payara Server 5 Datasheet (Japanese)
- Payara Server 4 to 5 Migration Guide (Japanese)
- Migrating from TomEE to Payara Server 5
- Payara Server 5 Administration Cheat Sheet (Japanese)
Deployment Groups and Clustering Blogs
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.
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.
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.
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.