中间件速查手册
关系型数据库Real Application Clusters

RAC 是什么?

多台机器共享同一份存储,同时读写一个库,坏一台不停机

类比:多个收银台对着同一个仓库,坏一个不影响营业

怎么做到多活

每个节点跑一个实例,共享同一份数据文件(通常放 ASM 或共享存储)。节点之间用私网做 Cache Fusion:A 节点要改的块正好在 B 节点的缓存里,就直接从 B 的内存传过来,不落盘。

客户端连的是 SCAN 虚拟 IP,监听器把连接分给负载低的节点,所以节点故障时新连接自动切走。

不是万能的

RAC 防的是实例级故障,共享存储仍是单点,必须配 Data Guard 或存储双活。Cache Fusion 对私网延迟极敏感,跨机房部署基本不可行——同城双活要靠 Data Guard,不是 RAC。

什么时候值得上

只有“不能停机 + 单库放得下 + 预算充足”三条同时成立时才值得。很多场景用主备 + 快速切换就够了,RAC 的复杂度(脑裂、节点驱逐、私网调优)会带来新的运维负担。

它出现在这些中间件里

相关问题

相关概念