在 C++ 驱动程序中一起配置 Cassandra 的 TokenAware 和 LatencyAware 策略

Configuring Cassandra's TokenAware and LatencyAware policy together in C++ driver

阅读了可用的不同负载平衡策略后(https://datastax.github.io/cpp-driver/topics/configuration/),在我看来,为了获得最佳性能,尤其是在多数据中心集群中,应该使用令牌感知和延迟感知策略在一起('Performance Tips' 上述文章的部分)。

据我了解(假设复制因子 > 1),当我们同时使用这两种策略时,客户端将计算查询中使用的主键的哈希值,然后根据延迟计算,它将选择最佳副本来执行该查询。这种理解在给定场景中是否正确?

此外,我想了解如何 implement/configure 这两项政策结合在一起。我是否需要在我的 C++ 代码中简单地一个接一个地启用这两个策略?如果没有,有人可以分享同时启用这两项政策的代码片段吗?

是的,您的理解是正确的 - 您可以同时使用这两种策略。要启用它们 - 只需同时调用 2 个相应的函数,并按照文档中的说明设置必要的设置。

如果您有多个 DC,那么启用 DC 感知负载平衡也是有意义的...