我正在使用 Cassandra 2.1.12 将事件数据存储在列族中。下面是为 .net 创建客户端的 c# 代码,它管理来自 Cassandra 的连接。现在的问题是插入/更新数据的速率非常高。所以,现在假设我在后续请求中增加 Cassandra 中的列值。但正如我所说的插入/更新率非常高。因此,在我的 3 节点集群中,如果我第一次写入列的值是 1,那么在下一个请求中,我将读取该列的值并将其更新为 2。但是如果从其他节点获取的值没有被初始化为 1。然后值将再次存储为 1。所以,现在为了解决这个问题,我也将值保留为consistency
1 QUORUM
。但问题仍然存在。谁能告诉我可能的解决方案?
private static ISession _singleton;
public static ISession GetSingleton()
{
if (_singleton == null)
{
Cluster cluster = Cluster.Builder().AddContactPoints(ConfigurationManager.AppSettings["cassandraCluster"].ToString().Split(',')).Build();
ISession session = cluster.Connect(ConfigurationManager.AppSettings["cassandraKeySpace"].ToString());
_singleton = session;
}
return _singleton;
}