我使用cassandra 2.1.2和datastax cassandra-driver-core-2.1.2。这是一个奇怪的问题:当创建密钥空间(或创建,删除表)时,我的一些客户端收到了重复的事件,大约200多次。我的群集和我的客户在不同的地方(不是在一个局域网中)。 这会导致很多问题,一旦客户端收到这样的事件,它应该刷新模式,并从system.keyspaces获取所有模式信息,等等。最后,它还刷新了NodeNndTokenMap。所有这些操作都可能导致一些数据传输,一秒内200多个事件是可怕的。所以任何人都知道为什么&怎么预防?
感谢您阅读本文。
答案 0 :(得分:0)
当你提及"我的一些客户收到重复的事件"时,我假设您有多个群集实例,这是正确的吗?如果您只有一个Cluster对象并且您正在收到多个事件,我想知道这是否是一个bug。 java驱动程序只会为每个Cluster实例订阅1个连接(命名为' Control Connection')到架构,拓扑和节点状态更改。该连接最初是建立在您的一个联系点上的(如果连接丢失,它将选择群集中的另一个节点)。
如果不了解有关配置的更多信息,我会考虑以下内容: