我正在做这样的事情...
using (var cassandraContext = new FluentCassandra.CassandraContext(Conf.DbConnectionString))
using (var kafkaContext = new ContextFactory())
{
List<string> bm = new List<string>();
var items = GetData(cassandraContext, GetPageSize());
foreach (var bookmark in items)
bm.Add(Newtonsoft.Json.JsonConvert.SerializeObject(ToKafkaModel(bookmark)));
await kafkaContext.PushAsync(bookmarks, BookmarksSyncToRecoInsert);
// if successful, delete
foreach (var bm in items)
{
DeleteFromCassandra(cassandraContext, bm.Id);
}
kafkaContext.Flush();
}
因此,如果我的页面大小为1000,并且每1分钟运行一次此代码,则所有这些工作都很好。 几分钟后,一旦我将GetPageSize()增加到5000或10,000,我就开始遇到与Cassandra的连接问题。
这是我的错误日志显示的内容。
无法从传输连接中读取数据:连接 尝试失败,因为关联方未正确响应 一段时间后,或建立的连接失败,原因是 连接的主机无法响应。
如果我保持服务运行,则每隔一个小时左右我的服务将成功建立连接,然后一切正常。 我有一个4节点的Cassandra服务器。 我正在使用 FluentCassandra 版本1.2.6