gpt4 book ai didi

cassandra - 了解 Cassandra 池选项(setCoreConnectionsPerHost 和 setMaxConnectionsPerHost)?

转载 作者:行者123 更新时间:2023-12-04 02:35:32 24 4
gpt4 key购买 nike

我最近开始使用 Cassandra,我正在阅读有关连接池的更多信息 here .我对池大小感到困惑,无法理解这意味着什么:

poolingOptions
.setCoreConnectionsPerHost(HostDistance.LOCAL, 4)
.setMaxConnectionsPerHost( HostDistance.LOCAL, 10)
.setCoreConnectionsPerHost(HostDistance.REMOTE, 2)
.setMaxConnectionsPerHost( HostDistance.REMOTE, 4)
.setMaxRequestsPerConnection(2000);

以下是我想详细了解的内容:
  • 我想知道 setCoreConnectionsPerHost 是什么意思, setMaxConnectionsPerHostsetMaxRequestsPerConnection方法?
  • 什么是LOCALREMOTE是这里的意思吗?

  • 如果有人可以用一个例子来解释,那么它真的会帮助我更好地理解。

    我们在一个 dc 中有一个 6 个节点集群,RF 为 3,我们作为本地仲裁进行读/写。

    最佳答案

    Cassandra 协议(protocol)允许在同一网络连接上并行提交执行多个查询,而无需等待答案。 setMaxRequestsPerConnection设置一个连接中可以同时进行多少个正在进行的查询-最大限制取决于协议(protocol),并且由于协议(protocol) v3,它是 32k,但实际上您需要将其保持在 1000-2000 左右-如果您有更多,那么这是一个标志该服务器无法满足您的查询。

    驱动程序正在打开到集群中每个节点的连接,这些连接被标记为 LOCAL - 如果它们是应用程序本地的数据中心节点(在负载平衡策略中明确设置,或从第一个联系点推断),或作为 REMOTE如果它们是其他数据中心中的节点。

    此外,驱动程序可以打开多个到节点的连接。并且有 2 个值控制它们的数量:core - 最小连接数,max - 上限是多少。如果您提交不符合现有限制的新请求,驱动程序将打开新连接。

    所以在你的例子中:

    poolingOptions
    .setCoreConnectionsPerHost(HostDistance.LOCAL, 4)
    .setMaxConnectionsPerHost( HostDistance.LOCAL, 10)
    .setCoreConnectionsPerHost(HostDistance.REMOTE, 2)
    .setMaxConnectionsPerHost( HostDistance.REMOTE, 4)
    .setMaxRequestsPerConnection(2000);
  • 对于本地数据中心,最初每个节点会打开 4 个连接,可能会增长到 10 个连接
  • 对于其他数据中心,它将打开 2 个连接,可以增长到 4 个连接
  • 关于cassandra - 了解 Cassandra 池选项(setCoreConnectionsPerHost 和 setMaxConnectionsPerHost)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62144579/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com