H2数据库在集群方面也有不错的表现,下面介绍一下如何利用H2的集群/高可用性机制。
集群 / 高可用性
数据库支持简单的集群/高可用性机制。
架构是:两个数据库服务运行在两台不同的计算机上,两台计算机有同样数据库的副本,如果两个服务器都处于运行状态,每个数据库操作都被在两台计算机上执行,如果一台服务器宕机(断电、硬件故障、网络故障等),另外一台计算机仍能提供服务,从这一刻开始,数据库操作仅在一台服务器上执行,直到另外一台服务器恢复运行。
集群仅能用于服务器模式(内嵌模式并不支持集群)。可以在数据库运行状态下恢复集群,但是要求在第二个数据库恢复期间没有应用在改变第一个数据库的数据,因此恢复集群是一个手工的过程。
初始化集群,使用下面的步骤:
- 创建数据库。
- 使用CreateCluster工具创建一个数据库福分到另外的地方,并且初始化集群,这样就得到了同样数据的两个数据库。
- 启动两个数据库服务(每个数据库的副本)。
- 现在可以通过应用客户端连接到数据库。
H2支持两台服务器运行两个数据库成为集群,两个数据库互为备份,如果一个服务器失效,另一个服务器仍然可以工作。另外只有服务模式支持集群配置。
H2可以通过CreateCluster工具创建集群,示例步骤如下(在在一台服务器上模拟两个数据库组成集群):
1、创建目录
创建两个服务器工作的目录
# mkdir server1
# mkdir server2
2、启动tcp服务
执行如下命令