0

我正在阅读 CAP Theorem 并感到困惑。对于 CA,我以 Oracle 为例。一致性:Oracle 是一致的,因为我们没有多个节点并达成一致。可用性:它只有一个节点,为什么它是高可用的,如果它崩溃了怎么办?

4

1 回答 1

0

Oracle 拥有 Real Application Cluster (RAC) 技术,有助于在多个节点(服务器)上保持高可用性。我不确定 RAC 集群中服务器的限制,但可以有很多(2、3、5、8 等)。如果 DBA 设计正确,他们可以为应用服务分配多个节点(主动-主动或主动-被动)。如果一个节点变得不可用、计划内或计划外,服务将故障转移(主动被动)或继续在其他节点上运行(主动-主动)。Oracle 还拥有非常先进的技术,可以在节点不可用时继续读取活动甚至写入活动。如果设计正确,在某些情况下用户甚至不会知道节点不可用。RAC 的“症结”是存储。Oracle RAC 使用共享存储。如果存储有问题,那么 RAC 集群中的所有节点都会受到影响。它不像 Cassandra 那样分发。硬件有许多功能可以防止存储问题(例如 RAID)。但是,最重要的是,无论出于何种原因,如果存储受到影响,RAC 也会受到影响。Oracle 确实提供了分片,这是他们对分布式系统的回答,但它并不那么优雅。没有它,您就没有其他分布式系统所拥有的分布式部分(分区)。

说了这么多,希望能回答您关于 Oracle 高可用性的问题。

-吉姆

于 2019-11-10T02:19:44.677 回答