当我从节点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());
}
答案 0 :(得分:3)
您正在看到驱动程序的负载平衡策略的效果。 system.peers
是每个节点上不同的本地表。当您使用驱动程序执行查询时,它将在节点之间进行负载平衡,每次都会给出不同的结果。
如果您多次执行并打印结果,您应该看到节点之间的对等备用。
阅读一些有关负载平衡策略的信息here。