有关H2数据库中CreateCluster工具的问题

时间:2011-05-26 21:42:56

标签: database cluster-computing behavior h2

我对H2的创建群集工具的行为有几个问题。

  1. 如果创建一个指定源A和目标B的集群,H是否要保持B与A同步?换句话说,两者之间是否存在主从关系?

  2. 让我们假设数据库A,B和C属于同一个集群。如果在A和B上同时执行两个不同的事务会发生什么。 H2是否选择群集中的领导者以确保群集中的所有数据库都有唯一的执行顺序?

  3. 如果H2选举领导者,如果这位领导人消失了怎么办?是否存在自动故障转移机制?是新领导人自动当选?我还可以

  4. 如果我创建一个包含源A的群集 - >目标B,然后是源B - >目标C,然后是源C - >目标D,将D从C获取执行语句,从B和B获取执行语句获取执行A语句吗?或者B,C和D会从A(或当选的领导者)获得执行声明吗?换句话说,我们是否有连锁或明星组织?

1 个答案:

答案 0 :(得分:3)

请参阅H2网站上的cluster documentation

  1. 群集节点之间没有主/从,没有领导,也没有连接。相反,每个客户端都连接到两个集群节点并在两个节点上执行语句。

  2. 每个客户端以相同的顺序执行所有群集节点上的所有语句。每个客户端都有一个集群节点列表,每个集群节点也保留列表。客户验证列表是否相同。

  3. 没有领导者。故障转移机制是:如果客户端失去与其中一个集群节点的连接,它将从该列表中删除该集群节点,并告知每个集群节点从列表中删除该集群节点。

  4. 这将只展开列表,以便获得A,B,C,D。然后,每个客户端将在每个群集节点上执行所有更新语句。