cassandra连接池中的HostDistance概念

时间:2018-01-11 08:14:15

标签: java cassandra connection-pooling

我没有得到,HostDistance概念意味着它具有LOCAL或REMOTE值。 需要在创建连接时设置它,即使用java API在池选项中使用核心/最大值。

问题是

  1. 我们是否需要为群集中的每个节点设置HostDistance值?如果是的话怎么样?
    1. 是否依赖于loadBalancing策略? 如果是,怎么做?,因为根据我的理解,我们没有在负载均衡策略中指定它。 如果不是,那么它如何决定HostDistance呢?
    2. 我读了这些链接

      https://docs.datastax.com/en/drivers/java/2.0/com/datastax/driver/core/policies/LoadBalancingPolicy.html#distance-com.datastax.driver.core.Host-

      https://docs.datastax.com/en/drivers/java/2.0/com/datastax/driver/core/HostDistance.html

      请纠正我的理解。谢谢!

1 个答案:

答案 0 :(得分:0)

HostDistance用于您的客户端,因此可以维护池和不要打开太多与远程数据中心的连接。该距离由实现LoadBalancingPolicy计算,该实现将使用特定于实现的算法将Cassandra节点标记为LOCALREMOTE

Connection Pooling& Java驱动程序文档中的Load Balancing部分有关其他说明。