Cassandra 连接池中的 HostDistance 概念

HostDistance concept in cassandra connection pooling

我没听懂,HostDistance 概念意味着它具有 LOCAL 或 REMOTE 值。 需要在创建连接时设置它,即 core/max 在池选项中使用 java API.

问题是

  1. 我们是否需要为集群中的每个节点设置 HostDistance 值?如果是怎么办?

  1. 是否取决于负载均衡策略? 如果是,如何?,因为根据我的理解,我们没有在负载平​​衡策略中指定它。 如果不是,那么它是如何决定HostDistance的?

我阅读了这些链接

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

请指正我的理解。谢谢!

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

请参阅 Java 驱动程序文档中的 Connection Pooling & Load Balancing 部分以获取更多说明。