Creating a Redis cluster in ColdFusion 2016 API Manager
In ColdFusion 2016 API Manager, you can use a Redis cluster as your datastore.
Using the Redis cluster, you can scale API Manager by adding or removing Redis nodes and manage automatic failover by creating slaves.
This is independent of your API Manager cluster.
A Redis cluster requires at least three master nodes. We recommend creating three corresponding slave nodes for better availability and reliability.
Creating a Redis cluster involves installing individual Redis nodes that will become a part of the cluster. The next step involves adding the nodes to the cluster and providing the Redis cluster information to API Manager.
You can install a Redis node using the API Manager add-on installer.
Enable the Enable Cluster Configuration check-box when installing each Redis node.
Each Redis node requires two open TCP connections.
The first port is the Datastore port (provided during installation), for example 6379, plus the port obtained by adding 10000 to the datastore port, so 16379 in this case.
This second port is used for the cluster bus, which is a node-to-node communication channel using a binary protocol.
The cluster bus port must be reachable from all the other cluster nodes. If you do not open both TCP ports, your cluster will not work as expected.
You can create a Redis cluster by adding individual Redis nodes to the cluster and establishing communication between the nodes.
Execute the Ruby script redis-trib.rb located at <APIM_AddOn_Home>\datastore\ruby-script.
You can execute this script in any machine that has Ruby pre-installed and redis.gem added.
Execute the following command to configure Redis cluster with three master nodes and no slave nodes:
ruby redis-trib.rb create <machine-ip>:<port> <machine-ip>:<port> <machine-ip>:<port>
Execute the following command to configure Redis cluster with three master nodes and three slave nodes:
ruby redis-trib.rb create --replicas 1 <machine-ip>:<port> <machine-ip>:<port> <machine-ip>:<port> <machine-ip>:<port> <machine-ip>:<port> <machine-ip>:<port>
For more information, refer the Redis cluster documentation at http://redis.io/topics/cluster-tutorial.
To provide the Redis cluster information to API Manager during installation:
Uncheck the Datastore check-box.
In the Datastore and API Manager Cluster configuration dialog, choose Redis Cluster as Yes, and enter the details of any one node in the Redis cluster.
You can also move to a Redis Cluster after installation by providing the details at API Manager Administrator > Server > API Datastore
You can also migrate all the data from single node to Redis Cluster from here by enabling the Perform Migration check-box.
Redis Cluster to a single node or cluster to cluster configuration is not supported.
When you start Redis from the command line, there is no logging. Logging gets redirected to redis.log file that can be found in datastore folder.