Cassandra连接池

时间:2015-08-20 09:46:11

标签: java cassandra datastax

我想在应用服务器上创建Cassandra作为数据源,它具有类似于OracleDataSource的连接池容量。是否在任何应用程序服务器上都支持此功能?

我的应用程序将部署在2个节点上,截至目前我正在每个节点上创建一个静态1集群,并且每个键空间创建一个会话我想为此设置添加连接池容量。我知道有一个选项可以使用PoolingOptions设置连接池。

cluster = Cluster
            .builder()...
            .withPoolingOptions(poolingOptions).build();
session = cluster.connect("keyspace");

以下是我的疑惑 1)如何动态增加/减少连接数。 2)我的请求是同步请求,最多可以同时从每个主机切断多少请求。 3)增加1个节点上的连接数是否会影响其他节点上的连接?因为两个节点使用的数据中心是相同的。 4)cassandra提供的默认池机制是什么

1 个答案:

答案 0 :(得分:0)

我们的文档中的

This page详细介绍了它(您没有说明您正在使用的版本,因此请使用左上角的下拉菜单选择相关文档。)

快速回答您的问题:

  1. 配置不同的核心/最大池大小。
  2. 连接数*每个连接的请求数(两者都取决于驱动程序版本,Cassandra版本和您的配置,详情请参阅文档)
  3. 节点按"距离"分类。 (由您的LoadBalancingPolicy确定,但通常与群集拓扑有关)。相同距离的节点获得相同的池配置,因此如果您的主机位于同一数据中心,则它们将使用相同的池策略。
  4. 默认值取决于驱动程序/ Cassandra版本(再次,请参阅doc以获取完整详细信息)。