我有一个Cassandra单体应用程序,在那里我想以高速率从队列中读取一些有效载荷。Cassandra集群有3个节点。当我开始并行处理大量消息(通过生成线程)时,我会遇到下面的异常
java.util.concurrent.ExecutionException: com.datastax.oss.driver.api.core.DriverTimeoutException: Query timed out after PT2S
我正在创建CQLsession作为bean。
return CqlSession.builder().addContactPoints(contactPoints)
/*.addContactPoint(new InetSocketAddress("localhost", 9042))*/
.withConfigLoader(new DefaultDriverConfigLoader()).withLocalDatacenter("datacenter1")
.addTypeCodecs(new CustomDateCodec())
.withKeyspace("dev").build();
我将这个CqlSession注入到我的映射器和其他类中来运行查询。
在我的DataStax驱动程序中,我将3个节点的IP地址作为联系点给出。是否需要在创建CQL会话/或我的Cassandra节点中进行任何调整,以便它们可以在高并发时进行写入?还可以同时进行多少次写入?
所有更新语句都没有任何条件,只针对主键进行操作。