首页 > 解决方案 > Cassandra 最佳实践:在 Cassandra 前面添加 Ha Proxy 是个好主意吗?

问题描述

据我了解,Datastax 驱动程序是TokenAware

令牌感知策略用于通过直接向拥有数据的节点发送请求来尽可能减少网络跳数。

驱动程序也有一些DCAwareRoundRobinPolicy,以便在需要时查询其他数据中心,并重新分配负载:

该策略提供对本地数据中心节点的循环查询。它还包括在查询计划中返回的远程数据中心中可配置数量的主机

问题 :

似乎通过客户端驱动程序配置,已经可以进行 HighAvailability、LoadBalancing 和 TokenAware。

谢谢

标签: cassandradatastaxdatastax-enterprisedatastax-java-driver

解决方案


通常不建议在 Cassandra 之前使用代理 - TokenAware 负载平衡策略将开箱即用(如果您使用准备好的语句)。除了选择正确的副本外,它还会考虑节点的状态等。

代理的问题是,在第一次联系之后,驱动程序会收到集群中所有节点的列表,所以驱动程序无论如何都会尝试使用这些节点,而不是代理节点(直到你使用白名单代码负载均衡策略,或者您实现了地址转换功能)。


推荐阅读