繁体   English   中英

使用 Phantom 驱动程序实现多数据中心 Cassandra

[英]Implementing multi-datacenter Cassandra with Phantom driver

我正在使用 Cassandra 3.x 和 Phantom 驱动程序(scala),并将我的 Cassandra 部署从一个简单的三节点集群修改为多数据中心 Cassandra 部署,其中包括两个数据中心部署:

  1. 事务性 - “主要”数据中心,所有读取/写入都发生在该数据中心(某些分析作业完成的读取/写入除外)。
  2. 分析 - 仅用于分析目的的数据中心。 分析作业应该在这个数据中心上运行(即读/写)。

两个数据中心都配置了适当的告密和复制因子策略。

根据这篇文章(“工作负载分离”部分),我应该能够从“事务”数据中心读取/写入,并在“分析”数据中心运行分析作业,但是,我不知道如何获得这与幻影驱动程序一起使用。

如何将驱动程序配置为从正确的数据中心读取/写入?

ContactPoints class 中的hosts设置为来自事务性数据中心的节点是否只能解决问题?

默认情况下,Java 驱动程序 3.x 使用所谓的 DCAware 负载平衡策略与 TokenAware 策略相结合。 数据中心可以使用 builder 的withLocalDc function 显式配置,但可以省略,驱动程序将使用初始化时到达的第一个接触点的数据中心。 所以你可以只将 Phantom 指向事务 DC 中的服务器,它只能与它一起工作(直到你使用非本地一致性级别,例如 QUORUM/SERIAL、EACH_QUORUM 等)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM