2026 年 5 月,北京某展会现场。一把剪刀落下,机柜背后一根网线应声而断。 监控屏幕上的集群一个节点状态图标瞬间染黄、随即转红,又在同一秒内恢复成宁静的蓝色——正在高频读写的业务终端,只感受到一次几乎不被察觉的波动。
这是我们在优炫数据库 UXDB SRAC 集群上完成的一项「暴力测试」:直接剪断一个实例的物理网络,集群仍在正常工作。 它不是一场炫技,而是一次去伪存真的拷问:当所有外围防护被剥去,数据库能否靠自己的架构活下来?
而这,正是 UXDB SRAC 全对称多写多读共享存储集群存在的全部理由。
一、为什么是「剪网线」?
在数据库可用性的叙事里,我们听过太多优雅的切换、计划内的演练。但真实世界的故障从不预约——它可能是松动的光模块、被误拔的电源、交换机芯片的瞬断。它们往往以「网络分区」的残酷形式出现:实例还在,却已失联。
传统主备架构遭遇此类故障时,常常面临脑裂风险,需要借助第三方仲裁或复杂的隔离协议来决定谁活下来,过程秒级到分钟级不等,且常伴随数据丢失的可能。而 SRAC 选择了一条更难的路:从基因里消除对「主」的依赖,让集群中每一个实例都成为可以独立存活的「主」。
这就是全对称多写多读架构的核心洞见:真正的可用性,不是故障后的快速恢复,而是集群在故障中仍维持服务的能力。剪网线测试的,正是这种能力——当通信突然中断,集群如何在不丢失数据、不中断服务的前提下,瞬间完成隔离、重构与恢复。
二、解剖「全对称」:内存融合如何创造生存本能
UXDB SRAC 的多写多读并非简单的「大家都可写」,其背后是一套精密如钟表的无状态内存融合 机制与全对称事务一致性协议。
在一个集群中,每个实例都拥有对共享存储的完全访问权,但物理上唯一的数据副本绝不允许多实例同时冲突修改。解决这一矛盾的钥匙,在于资源锁管理器与无状态数据块控制的协同。它们以数据块为最小调度单元,通过高速内部互联网络完成跨节点的资源授权与最新数据块传递。
当一个实例需要修改某数据块时,它向资源锁管理器申请「独占锁」。如果该数据块的当前版本正「温暖」地驻留在另一个节点的内存中(而非磁盘上),SRAC 不会触发缓慢的磁盘 I/O,而是通过 Interconnect 在微秒至毫秒级将这块内存「拉」到本地。这就是内存融合的精髓——集群内部无需通过磁盘中转,而是通过高速网络直接传递最新版本的数据块,速率逼近内存总线。
当网线被剪断的那一刻:
• 集群的心跳瞬间中断,所有幸存实例在预设的超时窗口内未收到故障节点的回应。
• 锁资源管理器立即启动重配置:清理故障实例持有的资源锁,并将其原先管理的锁资源无缝重新分配给集群内的存活实例。
• 由于数据本身安然无恙地存储在共享存储上,存活实例可以直接访问并接管所有业务,整个过程无需漫长的全量数据恢复,存活实例只需自动接管其锁资源,并极速完成并行的实例恢复,即可实现业务无缝衔接。
• 对应用来说,仅是一次极短的连接冻结,随后即可通过重连或自动故障转移继续工作,如同跨过一粒微尘。
这套机制使得 UXDB SRAC 能够承诺 99.999% 以上的可用性,同城故障恢复时间(RTO)小于 10 秒——这不仅是参数,更是架构能力的自然投射。
三、从「三中心」到「数据永续」
传统最大可用性架构(MAA)常遵循「本地高可用 + 同城灾备 + 异地容灾」的三层模式,但其底层往往依赖主备复制。这带来了固有的矛盾:主库是单点瓶颈,灾备库要么闲置,要么只能提供只读服务;跨中心切换常需人工介入,存在分钟级的数据丢失风险。
UXDB SRAC 为我们打开了一种重构 MAA 的可能:
1. 本地:多活即高可用 同一个数据中心内,2 至 3 个 SRAC 实例同时对外服务,天然构成负载均衡与故障自愈的本体。任何实例失效,业务无感迁移。
2. 同城:真正双活,RPO=0 通过 SRAC 延伸集群架构,集群实例可以跨两个相距数十公里的数据中心部署。存储层利用同步镜像技术保持数据强一致,SRAC 集群视两中心实例为同一集群,正常时均可读写,任一中心整体故障,另一中 心的节点无缝接管全部业务,数据零丢失,恢复秒级。将容灾能力直接内嵌进数据库内核,而非依赖外部脚本或存储层复制等上层建筑。
3. 异地:最后的守护 在数千公里外,通过 SRAC 的异步日志传输或异地灾备集群,构建防御区域性灾难的最后一道防线。此时或许允许分钟级的数据延迟,但整体 RPO/RTO 远优于传统「冷备」模式。
这一架构的价值,已在某数字仿真业务平台得到印证。该平台基于 UXDB SRAC 集群,在遭遇真实故障时,实现秒级恢复与数据零丢失,应用端几无感知,实现全年无计划外停机。保障了业务系统 7×24 小时的持续运转。
四、能力在冰山之下
全对称多写多读架构的价值远不止于高可用,它同时释放了被传统架构压抑的三大潜能:
1. 线性扩展的「绿色」性能 因集群无主实例瓶颈,SRAC 支持 2 到 32 实例的弹性扩展。新实例加入时无需数据重分布,通过无状态内存融合与全对称架构自然吸收负载。这使得在 OLTP 高并发场景下,性能可近似线性增长。对于石油交易系统或银行核心业务,意味着「用多少,扩多少」,资源利用率最大化。
2. 强一致性的「干净」并发 这是共享一切架构的天然优势:所有实例面对的是同一份数据实体,不存在分布式事务中的副本延迟或脑裂回滚。结合锁资源控制器的严格可串行化控制,SRAC 在允许多实例同时写入不同数据块的前提下,确保任意时刻的并发事务结果与单机串行执行等效。这对需要绝对数据准确的交易、账务系统至关重要。
3. HTAP 融合的「实时」洞察 基于 SRAC 的强大事务处理能力,UXDB 可以天然地与 UXDB MPP 分析引擎协同:事务数据写入 SRAC 集群的同时,即可被分析引擎直接访问,实现「写入即分析」。这打破了传统「夜间跑批、隔天出报表」的延迟,让行业的实时监控、动态优化成为现实。
五、理性与克制
全对称多写多读集群无疑是数据库工程中技术复杂度最高的领域之一。内存融合对低延迟网络的要求、锁资源管理器在极高并发下的效率优化、故障场景中各类边界条件的完备处理——每一项都需要长期打磨。
但我们同样深信,真正的专业主义,不是夸大其词,而是诚实地向客户交付确定性:
1. 确定性,是你的核心系统不会因为网线被剪、电源线脱落而停止。
2. 确定性,是当你需要扩展时,增加的实例直接转化为生产力。
3. 确定性,是当灾难真正降临时,你的数据零损失、业务秒恢复,而非存在于纸面预案中的理想假设。
今年五月这次剪网线的验证,我们没有邀请媒体专访。它只是产品迭代中无数次回归测试中的一次。但正是这样日常的、近乎偏执的自我叩问,沉淀出了 SRAC 集群最本质的品格:不依赖假设的强壮,不必声张的可靠。
剪断网线的那一刻,我们不是要证明一个奇迹,而是要让人们看到,在数据库的发展之路上,UXDB SRAC 已经可以用架构的智慧,去托举那些绝对不能失败的关键任务。这就是优炫数据库的存在方式——于无声处,护数据周全。