连接到3节点事件存储集群后,无论出于何种原因,这3个节点之一都关闭了(可能是3个节点中的任何一个),如果客户端尝试将一些数据附加到集群上,会发生什么情况现在?
是否将数据写入剩余的两个节点?
行为是确定性的还是取决于哪个节点(主节点或从节点)发生故障?
答案 0 :(得分:0)
事件存储集群依靠八卦种子从所有可用节点中选择一个主节点。一旦主节点关闭,群集将选择一个新的主节点。所有写入始终都无条件地定向到主节点。
您必须确保使用正确的连接字符串连接到集群,而不是单个节点,例如:
多节点DNS名称:
var connectionString = "ConnectTo=discover://admin:changeit@mycluster:3114; HeartBeatTimeout=500
单个群集节点列表:
var connectionString = "GossipSeeds=192.168.0.2:1111,192.168.0.3:1111; HeartBeatTimeout=500"
您只能在将连接用于订阅时强制连接使用从节点。