Server role usage
batch server role
Guidewire PolicyCenter distributes batch processing across
all server instances in the cluster that have the batch server role. At
least one server in the PolicyCenter cluster must have the
batch server role. It is possible to request the start of a batch
process from any server in the cluster. However, only a batch server is
capable of performing the work involved in the batch process. If the start request
originates from a server that does not have the batch role, that server
communicates the request to the other members of cluster. A server with the
batch role accepts the request and performs the work.
Exclusive and non-exclusive batch processing
Guidewire categorizes batch processes into exclusive and non-exclusive batch processes:
- For exclusive batch processes, Guidewire guarantees that the batch process runs
on exactly one cluster member with the
batchrole at a time. - For non-exclusive batch processes, Guidewire guarantees that a single submission of a batch process runs exactly once. However, it is possible to submit non-exclusive batch processes for execution multiple times. In this case, it is possible for the batch process to run once for each submission, possibly concurrently, on multiple servers that have the correct server role.
Cluster members with the batch role use a batch-specific lease
manager. Guidewire provides a configurable load balancing strategy for those servers
with the batch role.
messaging server role
Message destinations and messaging server roles
In Guidewire PolicyCenter, it is possible to associate
a specific server role with each message destination. In the base configuration,
PolicyCenter does not specify a server role for
any of the predefined message destinations. For all message destinations without a
defined server role, PolicyCenter automatically sets
the associated server role to the base configuration role of
messaging.
| Server | Messaging destination |
|---|---|
Assigned messaging role |
Can acquire the lease of any message destination |
| Assigned role or host name | Can only acquire the lease to a message destination with an
assigned role that matches that of the server. For example,
suppose that there is a message destination with an assigned
role of A. Only a server that has role
A can acquire the destination lease. A
server with only role B cannot acquire the
lease. It is possible to associate a specific host name with a specific message destination as well. Then, only that server host can acquire the lease to the message destination. |
| No assigned messaging role | Cannot acquire the lease of any message destination. |
You associate a specific server role or host name with a message destination in the
Guidewire Studio™ message-config.xml file. If you do not set a
server role for a message destination, the Messaging editor shows a default role of
messaging at the top of the screen.
- Through an option on the
gwb runServercommand used to start the server from a command prompt. - Through the
registrymetadata definitions in fileconfig.xml.
Message destinations and leases
Guidewire PolicyCenter distributes message processing
across all server instances that have the messaging server role
(which is any role assigned to a message destination). Cluster members with these
roles use a messaging-specific lease manager. In this case, a lease corresponds with
a message destination, with each destination having a server declaration.
PolicyCenter creates message destination leases during messaging initialization. As each PolicyCenter starts, if it has a messaging role, it looks for a message destination to start. This message destination is any available message destination whose assigned role matches a role assigned to the server. PolicyCenter repeats this process until there are no more qualified destinations to assign.
Each messaging lease manager accepts a listener from the messaging system. Upon the activation of a lease operation by the lease manager such as deleting or expiring a messaging lease (and similar operations), the listener notifies the messaging system. PolicyCenter then stops messaging destinations that are deleted or acquired by other servers.
A shutdown command for a messaging destination initiates a request to expire the lease on the server for that destination. The destination listener accepts that request and passes the request to the lease manager for that destination.
PolicyCenter periodically reviews all destination leases to determine if the leases are still valid and to look for new leases to acquire. If a lease expires or the lease manager creates a new lease, PolicyCenter again searches for new messaging destinations to assign.
Guidewire provides a configurable load balancing strategy for those servers with the
messaging role.
scheduler server role
Guidewire PolicyCenter typically utilizes only a small
number of cluster members with the scheduler server role. These server
instances run multiple synchronized instances of the scheduler in parallel.
scheduler role must also have
configuration parameter SchedulerEnabled set to
true in config.xml.Servers with the scheduler role
Guidewire recommends that even small clusters have at least two servers with the
scheduler role. This mitigates the possibility of a single
server with the scheduler role becoming a single point of failure.
However, Guidewire does not recommend more than four servers with this role in a
cluster as large number of servers competing for database resources can possibly
increase database contention.
startable server role
Guidewire PolicyCenter implements certain plugins
(services) as cluster singletons. These plugins implement the
IStartablePlugin interface and do not carry the
distributed annotation. PolicyCenter
runs a single instance of these plugins only, on a server with the
startable server role. Cluster member with this role use a
plugin-specific lease manager.
Guidewire provides a configurable load balancing strategy for those servers with the
startable role.
ui server role
Guidewire PolicyCenter uses the ui server
role as a placeholder role only. Guidewire PolicyCenter
servers typically operate in conjunction with a non-Guidewire load balancer that manages
the user interface transactions. PolicyCenter distributes
web requests to the various cluster members according to the rules specified for the
load balancer. Any cluster server that receives a web request processes that request,
regardless of role assignment.
workqueue server role
Guidewire PolicyCenter distributes work queues across all
server instances that have the workqueue server role. By default, each
work queue starts a single worker on each server with the appropriate role, unless
configured otherwise.
