From my understanding, the Datastax driver is TokenAware :
Token-aware policy is used to reduce network hops whenever possible by sending requests directly to the node that owns the data.
The driver has also some DCAwareRoundRobinPolicy, in order to query an other datacenter if needed, and to repartitate the load :
This policy provides round-robin queries over the node of the local data center. It also includes in the query plans returned a configurable number of hosts in the remote data centers
Questions :
It seems out that with client driver configuration, it is already possible to do HighAvailability, LoadBalancing, and be TokenAware.
Regarding those elements, do you think it is still a good practice to also add
HaProxyon top of Cassandra ?If yes on first question, may I loose the
TokenAwareproperty ?If yes on first question, will the contact point continue to send to the java driver the correct topology (ip/host list of nodes) ?
Thank you