了解Cassandra system.peers使用C#驱动程序进行查询

时间:2015-08-12 14:55:42

标签: c# cassandra cassandra-2.0

当我从节点1查询对等表时,我不确定为什么我会获得与联系点相同的对等。

当我将ip更改为46(node2)时,我得到45(node1),但是从45(node1)查询我得到45(node1)

        Cluster clusterconn = Cluster.Builder().WithCredentials(txtuser.Text, txtsec.Text).AddContactPoint("192.168.0.45).Build();
        ISession Conn_session = clusterconn.Connect("system");

        var con_result = Conn_session.Execute("select peer FROM system.peers");


     //   lstnode.Items.Add(txt_pip.Text);


        foreach (var rows in con_result)
        {

            //var value = row.GetValue<int>("id");

            lstnode.Items.Add(rows["peer"].ToString());



        }

1 个答案:

答案 0 :(得分:3)

您正在看到驱动程序的负载平衡策略的效果。 system.peers是每个节点上不同的本地表。当您使用驱动程序执行查询时,它将在节点之间进行负载平衡,每次都会给出不同的结果。

如果您多次执行并打印结果,您应该看到节点之间的对等备用。

阅读一些有关负载平衡策略的信息here

相关问题