0

我最近开始Cassandra在我们的Production environment. 我们有一个24 node clusterwith replication factor of 4。意义2 copies将在那里each datacenter。所以这意味着我们有一个单一的交叉结肠集群,24 nodes其中12 nodes in SLC colo12 nodes in PHX colo

Astyanax client目前正在使用将数据写入Cassandra database. 而且我知道 Astyanax 客户端具有此功能,可以在其连接池中自动发现 PHX colo 或 cassandra 的 SLC colo 中的所有节点,但不是所有节点。

在 Astyanax 中,我们可以使用如下所示的内容 -

setLocalDatacenter("DC1")

现在我们计划使用 Datastax Java 驱动程序。而且我不确定Datastax java驱动程序是否具有此功能,是否仅针对特定数据中心而不是所有数据中心自动发现其连接池中的所有cassandra节点?

4

1 回答 1

1

驱动程序将发现集群中的所有节点,您希望在客户端代码中更改负载平衡策略。具体来说,您希望使用 dc 感知负载平衡策略。

http://www.datastax.com/drivers/java/apidocs/com/datastax/driver/core/policies/DCAwareRoundRobinPolicy.html

于 2013-10-02T19:39:19.010 回答