2 Replies Latest reply on Jun 7, 2013 12:22 PM by Trevor Harris

    How to identify a Cassandra database cluster to Infinispan

    Trevor Harris Newbie

      My question is how do we identify the single logical database cluster to Infinispan as its cache store avoiding reliance on a single ‘primary’ database node in the cluster for the connection? 


      We are looking to use a Datastax Cassandra (V3.0.1) database as the back end cache store for Infinispan 5.2.1. The application will be Java (1.7) running on Tomcat (7.0.37) application servers. In production there will be 4 load balanced app servers spread across 2 physical locations. An instance of Infinispan will effectively run standalone in each of the 4 application servers and share a single Cassandra database as their cache store.


      In production the database will comprise of 6 nodes in a cluster – 3 in each physical location. My question is how do we identify the single logical database cluster to Infinispan?  During development we redefine the cachemanager as required and simply have an entry in our Infinispan properties.xml file identifying a single node in the 3 node development database cluster :-


      <property name="host" value="server1.abc.com" />  


      How do we avoid this single point of failure - effectively relying on a primary node ? I have seen how this can be done in the Hector API using CassandraHostConfigurator and autodiscovery but I think Infinispan is using the lower level thrift interface so that is not available to us. Do we need to consider a load balancer where all servers are running under a single DNS name or can we achieve this in the Infinispan configuration for Cassandra? Node autodiscovery would be nice but is not essential here – we would not expect the list of nodes to change frequently – the key issue is avoiding the single point of failure.


      Any thoughts would be much appreciated. Thanks