我们正在寻找一些替代我们的MySQL集群 – Oracle或pgsql。 我在Oracle 11数据库系统中阅读了关于HA的整个文档,但是我确实不太明白。 我所知道的是,正在做HA的RAC。 是否有像MySQL的代理背后的代理? 或者集群正在用一些像心跳一样的软件来改变IP地址? 或者应用程序必须在连接string中有另一个目的地,以防主用服务器出现故障? 我需要这个,所以我会评估需要多less努力来重新编码核心应用程序。
Oracle RAC的工作原理有点复杂,但是却是如此:
Oracle RAC由Oracle数据库节点组成。 每个节点都有一个本地监听器,整个群集有一个或多个SCAN(单一客户端访问名称)监听器。 每个侦听器都有自己的虚拟IP地址。 如果主机死亡,死主机的侦听器地址由另一个主机占用。 主机应该有一个专用的互连接口,在这个接口上心跳stream动,服务器之间的同步完成。
客户端只需要连接到一个SCAN侦听器,并且IP地址是恒定的(如果集群有更多的扫描器,那么DNS应该parsing这些地址的名称,使得客户端使用循环法连接到扫描器) 。 客户端连接时,群集将客户端redirect到最佳本地侦听器,但为此,客户端不需要任何进一步的设置。
甲骨文有关于RAC的相当好的文档,但是实施和pipe理一个并不简单(至less可以这么说)。 如果你想使用RAC,你应该听从pfo的build议,聘请专业人士。
RAC是RAC /它是一个黑盒子prettz多。 所有HA的东西都在RAC和驱动程序级别上进行处理。 应用程序重新编码只是必要的,因为Oracle不是MySql。