我有一个 Web 服务 API,允许客户端插入 Cassandra。
我阅读了datastax页面上的文档(http://www.datastax.com/drivers/java/2.0/com/datastax/driver/core/Session.html http://www.datastax.com/drivers/java/2.0/com/datastax/driver/core/Session.html)表明我们应该保留会话和集群对象直到应用程序结束。我想知道我应该在每次 Web API 调用后调用 session.close() 和 cluster.close() 还是只保留会话直到关闭 Web 服务器?
我建议不要创建Session
每次您收到请求时。每次您创建一个Session
via Cluster.connect
java-driver 将创建一个连接池,将多个主机连接到 Cassandra 集群。
例如,使用默认设置,如果单个数据中心中有 8 个 cassandra 节点,则使用 2.0.9 版本的驱动程序,它将为每个主机创建 8 个池连接(在下一版本中将更改为 2 个)。每次创建时都会创建 64 个连接Session
.
最好有一个共享的Session
您的网络服务器可以使用。驱动程序可以管理每个连接的多个请求(在 2.0.x 中默认每个连接 128 个),因此无需担心共享单个连接的争用Session
object.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)