首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Cassandra驱动程序v4中以编程方式启用跨数据中心故障转移?

如何在Cassandra驱动程序v4中以编程方式启用跨数据中心故障转移?
EN

Stack Overflow用户
提问于 2022-06-22 05:45:35
回答 1查看 126关注 0票数 0

在datastax驱动程序3.x中,我们有DCAwareRoundRobin策略,它尝试连接到远程节点--如果本地数据中心中的节点-- datastax 4.x --我们没有该策略,仅限于本地--但是,在datastax文档中,它被提到如下:

代码语言:javascript
复制
Cross-datacenter failover is enabled with the following configuration option:
datastax-java-driver.advanced.load-balancing-policy.dc-failover {
  max-nodes-per-remote-dc = 2
}

然后,驱动程序将尝试打开到远程datacenter.But中节点的连接,在驱动程序中,我们只指定一个要连接的数据中心,如下所示:

代码语言:javascript
复制
CqlSession session = CqlSession.builder()
    .addContactPoint(new InetSocketAddress("1.2.3.4", 9042))
    .addContactPoint(new InetSocketAddress("5.6.7.8", 9042))
    .withLocalDatacenter("datacenter1")
    .build();

如何处理与远程数据中心的连接?请帮助..

EN

Stack Overflow用户

发布于 2022-07-19 10:29:05

快速的答案是,您不是通过编程完成的--在启用advanced.load-balancing-policy.dc-failover之后,Java驱动程序就会为您做这件事。

接触点只是初始主机驱动程序“联系人”,以发现集群拓扑。在收集了有关集群的元数据之后,它就知道了远程DC中的节点。

由于您已经配置了max-nodes-per-remote-dc = 2,驱动程序将从每个远程DC添加2个节点到查询计划的末尾。首先列出本地DC中的节点,然后再列出远程节点。如果驱动程序无法与本地DC中的节点联系,那么它将开始联系查询计划中的远程节点,每次只与一个节点联系,直到所有节点都没有了联系。

但我必须重申我在your other question中说过的话,我们不建议启用DC-故障转移。对于任何遇到这个问题的人来说,你已经被警告过了。干杯!

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72710237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档