Set up Guidewire cluster with Redis server
It is possible to configure a Redis server to work with Guidewire InsuranceSuite application clusters.
About this task
- Configure the Redis server with specific integration parameters.
- Update the
BroadcastTransportFactoryplugin to support Redis. - Redeploy the PolicyCenter application server.
Important: Guidewire does not support the Redis Sentinel configuration. See
the Product Support Matrix for supported configurations.
Procedure
- Download Redis from the following location to your local file directory:
-
Install the Redis distribution using the following commands. Enter the appropriate
version numbers for your Redis distribution download.
$ tar xzf redis-5.0.7.tar.gz $ cd redis-5.0.7 $ make -
Open file /etc/redis/redis.conf and set the following
parameters:
# Run Redis as backgroun process daemonize yes # Turn off protected mode protected-mode no # Set Redis port value port 6379 # Specifiy the value (in milliseconds) above which Redis logs latency data latency-monitor-threshold 10 # Set buffer size (for slow clients) client-output-buffer-limit pubsub 2000mb 1000mb 60 # Define Redis logging parameters loglevel notice logfile "./redis.log" -
Use the following command to start the Redis server with the updated Redis
configuration file:
src/redis-server ./redis.conf
-
In Guidewire Studio for PolicyCenter, navigate to the
following location in the Studio Project window:
-
Open plugin
ClusterBroadcastTransportFactoryfor editing.-
Select the current OSGi entry in the plugin editor, remove its Service
PID value, and enter the following text in its place:
- com.guidewire.pl.cluster.internal.broadcast.redis.RedisBroadcastTransportFactory
- Add host URL and port parameters for each Redis server that you are deploying.
-
Add a
maxBatchWriteIntervalparameter and set its value to 100 (one second).
After you complete this work, you see an entry similar to the following for the updated OSGi implementation:<plugin-osgi servicepid="com.guidewire.pl.cluster.internal.broadcast.redis.RedisBroadcastTransportFactory"> <param name="redisServer1" value="Redis server host name or IP"/> <param name="redisPort1" value="6379"/> <param name="redisServer2" value="Redis server host name or IP"/> <param name="redisPort2" value="6379"/> … <param name="maxBatchWriteInterval" value="100"/> </plugin-osgi> -
Select the current OSGi entry in the plugin editor, remove its Service
PID value, and enter the following text in its place:
-
Recompile the changed resource using one of the following methods:
- Select Build Project or Rebuild Project from the Studio Build menu.
- Execute
gwb compilefrom a server command prompt (after you redeploy to that server).
- Redeploy the PolicyCenter application to each server in the cluster.
-
Stop and restart the application server to update the PolicyCenter application database.
After restarting the application, you see an entry similar to the following in the PolicyCenter log:
2020-2-17 09:42:44,744 INFO [main] Server.Cluster.RedisBroadcastTransport RedisPublisher(someHost.myCompany.com:6379) connected to Redis
