使用java模拟多个用户与cassandra的连接

wh6knrhe  于 2021-06-10  发布在  Cassandra
关注(0)|答案(2)|浏览(322)

我正在用java开发一个应用程序。目标是模拟多个用户连接到cassandra(并发连接),所有用户都连接到同一个集群。
我的问题是:我是否应该实现多个会话,其中每个会话模拟一个用户。或者整个应用程序只有一个会话。?如果可能的话,如何实现多个会话。?
如有参考或例证,不胜感激。

55ooxyrt

55ooxyrt1#

对于并发请求,应该始终考虑使用带有连接池的单个会话。如果会话出错,可以构建重试机制。已经说过,从技术上讲,您可以创建冗余会话,驱动程序将允许它。

92dk7w1h

92dk7w1h2#

理想情况下,您应该只使用一个 Cluster / Session 每个应用程序的对象 Session 对象创建一个到集群每个节点的连接池+一个控制连接以获取有关架构和拓扑更改等的通知,连接太多会给节点增加额外的负载。如文档中所述,单个网络连接可以同时执行多个请求,如果需要,可以增加飞行中的请求数,但不建议设置得太高,因为大量的运行中请求表明节点不能如此快速地执行查询—如果运行的查询使用 ALLOW FILTERING ,或获取过多数据。
您可以在datastax的指南“使用datastax驱动程序开发应用程序”中找到更多信息。

相关问题