近年来,随着 ARM 技术的发展,ARM 在服务器芯片领域的应用范围逐渐推广,在 Intel X86 的技术标准和产品供应链之外,提供了新的选择空间。
现阶段需重点研究分布式数据库同时支持 X86 和 ARM服务器的混合部署架构,在保证分布式数据库满足业务连续性和稳定性的同时,研究两个平台技术差异,实现分布式数据库在不同软硬件平台兼容部署与平滑切换,丰富金融行业对不同软硬件架构的数据库应用经验。
本文参考“分布式数据库跨CPU架构混合部署方案(2022)”,重点介绍分布式数据库在X86架构与ARM架构服务器上的多种混合部署方案。
一、跨集群混合部署
1.单独集群混合部署
单独集群混合部署是指将两个无关的数据库集群分别部署在 X86 架构与 ARM 架构硬件服务器上。
本方案适用于相同业务场景下,测试 ARM 架构数据库与 X86架构数据库在功能与性能间的差异。通过横向对比的方式,验证ARM 芯片数据库的功能、高可用、性能等方面是否符合预期,并根据测试结果进行分析,同时反馈相关芯片厂商,以期提升 ARM芯片对分布式数据库的支撑能力。
2.主备集群混合部署
主备集群混合部署是指利用集群间的主备架构,将主备集群分别部署在 X86 架构与 ARM 架构硬件服务器上。
在本方案中,主、备集群可按需采用不同 CPU 架构的服务器进行部署,不存在主备集群服务器 CPU 类型的关联要求,主备集群也可按需完成切换。
在系统上线运行前期,是 ARM 化的第一阶段。可采用 X86 架构 CPU 的服务器搭建分布式数据库主集群,备集群采用 ARM 架构的服务器。因 X86 架构 CPU 的服务器性能较优,运行经验丰富,可更好的支撑业务系统,保证系统性能和稳定性;利用 ARM 架构服务器作为备集群,可降低硬件投入成本,同时,验证 ARM 服务器的可用性和可靠性,为数据库服务器 ARM 化替换做好评估和准备。
当运行验证完成,确定 ARM 服务器能满足业务需求的条件下,进入 ARM 化替换的第二阶段。通过无损的主备集群切换方案,完成主集群采用 ARM 架构服务器,备集群采用 X86 架构 CPU 服务器的转换,实现应用系统的 ARM 化替代方案。同时,利用 X86 架构 CPU 的服务器构建备集群,最大限度保证当主集群故障的情况下,仍可以利用备集群,保证业务连续性不受大规模影响。
在 ARM 化替换的最终阶段,进一步完成备集群的 ARM 架构服务器的替换,最终实现全 ARM 化 CPU 架构服务器的数据库集群环境。
二、集群内多数据中心混合部署
数据中心的位置可用区域( Region )和可用区(Availability Zone)来描述。区域指物理的数据中心,每个区域可以实现最大程度的容错能力和稳定性。可用区是同一区域内互相隔离的物理区域,一个可用区不受其他可用区故障的影响。每个可用区可承载不同的数据分片的数据副本。在数据副本发生少数派故障的情况下,分布式数据库集群能够做到数据不丢,故障转移自动完成。
1.集群内多区域混合部署
集群内多区域混合部署是指同一集群内将管理节点、计算节点、数据节点等不同组件根据不同的区域部署在 X86 架构与 ARM架构混合硬件服务器上。
本地数据中心保持原有的 X86 架构,同城数据中心将管理节点、计算节点、数据节点等组件迁移至 ARM 架构。通过同城切换等方式对 ARM 架构组件进行测试验证,验证 ARM 架构的分布式数据库功能、性能及业务支撑能力等符合预期后,再逐步替换其他区域的组件为 ARM 架构,最终实现分布式数据库所有数据中心全部模块 ARM 架构的部署。
2.集群内多可用区混合部署
一个机房内可以有多个可用区,不同可用区之间物理隔离,但内网互通,既保障了可用区的独立性,又提供了低价、低时延的网络连接。集群内多可用区之间的混合部署,指分布式数据库集群,可部署于不同可用区内不同 CPU 架构的服务器之上。
与多机房的混合部署的逐步替换的思路相似,集群内多可用区之间的混合部署方案,亦可实现 ARM 架构服务器对 X86 架构CPU 服务器的逐步替换。
三、集群内单数据中心混合部署
1.主从架构混合部署
主从架构混合部署是指将管理节点、数据节点等主从架构的组件部署在 X86 架构与 ARM 架构混合硬件服务器上。
数据节点的混合部署可分为三个阶段:第一阶段数据节点主机为 X86 架构,数据节点备机为 ARM 架构,稳定运行一段时间后,验证 ARM 架构的数据节点功能、性能等是否符合预期。第二阶段将 ARM 架构的数据节点升为主机,稳定运行一段时间后,验证 ARM 架构下的数据节点的业务支撑能力是否符合预期。第三阶段实现数据节点主备机全部 ARM 架构的部署。
2.无状态组件混合部署
无状态组件混合部署是指将计算节点等无状态、容错率高的组件部署在 X86 架构与 ARM 架构混合硬件服务器上。
计算节点分别部署在 ARM 架构和 X86 架构下。待验证 ARM 架构的计算节点功能、性能等符合预期后,再替换全部计算节点为 ARM 架构。
通过对同一分布式数据库集群中X86和ARM服务器混合部署,提出了跨集群混合部署、集群内多数据中心混合部署和集群内单数据中心混合部署三种部署方案,满足了金融行业对服务器在数据库领域应用多元化的实际需求,为国内金融行业构建稳健高效的关键核心技术金融应用供应体系,提供了实践经验和可复制推广的方案。
本文基于实际项目经验,对分布式数据库基于 X86 和ARM 服务器的混合部署方案进行了研究,提出了跨集群混合部署、集群内多数据中心混合部署和集群内单数据中心混合部署三种方案,满足金融行业对服务器在数据库领域应用多元化的实际需求,为国内金融行业构建稳健高效的关键核心技术金融应用供应体系,提供了实践经验和可参考的方案(来源:北京金融科技产业联盟)。