使用 C++ 驱动程序在 Cassandra 中配置连接池

Configuring connection pooling in Cassandra using C++ driver

尽管连接池已被提及为 Cassandra 的 C++ 驱动程序 (https://datastax.github.io/cpp-driver/) 的功能之一,但未提供有关其在 C++ 中的实现的详细信息。 有人可以帮忙在 C++ 程序中配置连接池吗?

对于high-level什么是连接池的描述,您可以使用Java driver的文档(不幸的是,C++驱动程序没有相应的文档)。

C++ 驱动程序的配置选项也略有不同 - 例如,连接数只有一种配置,而 Java 驱动程序允许为本地和远程集群指定不同的数量。

您可以使用函数 cass_cluster_set_core_connections_per_host 指定与主机的最小网络连接数,并使用 cass_cluster_set_max_connections_per_host 指定与主机的最大连接数 - 驱动程序将在必要时调整池的大小。函数 cass_cluster_set_max_concurrent_requests_threshold 指定一个网络连接可以有多少请求 in-flight。您可以查看 tests of C++ driver 中的示例。

但是更改这些设置时要非常小心,因为这可能会导致资源消耗增加。