对于关键应用系统,比如核心系统,为保障高可用性,系统的存储架构,是选择存储硬件解决方案,还是通过上层软件解决方案比如数据库同步来保障,在性价比和实际效果方面有多大差距,能否分析一下?
核心系统高可用方案一般包括存储及主机硬件层面的高可用和应用及数据库软件方面的高可用。我们在实践过程中是两个都做的,最大程度的保障持续可用性。
现在的应用大致分为2类,一类微服务架构、一类单体应用,实际在保障高可用过程中,不管是单体和是微服务均采用多节点部署的方式规避单点故障,其承载多为虚拟机或容器,这就要求多个虚拟机或容器应分布在不同的物理机上,避免物理机的单点;数据库的话,不管是oracle还是mysql,也是采用比较成熟的集群高可用方式部署,落在不同物理节点提高可用性。
存储层面高可用多为运维工程师提供保障,其一般提供物理机高可用和存储的高可用。
在预算不是很足的情况下,可以采用主备模式,不管是主机还是存储,备机/备存储都可以性能和配置略低于主机/主存储,但是可用性方面可以保障。
另外提到高可用,特别是存储这块,还应注意防勒索,现在勒索软件横行,一旦遭遇影响巨大,所以在规划和实施中要提前部署防勒索方案。
这个得看项目预算,一般来说最好是两个都做,效果最好,但是成本也是最高的,看项目预算包不包得住。如果预算有限,建议优先考虑存储层面的硬件高可用,相对来说更成熟,也经过了多年的实际场景验证,性价比更高;再者,业务数据是最核心的资产,最终都是要落地到存储硬件上存储,数据文件完整未损坏,是做一切高可用保障的前提,上层软件架构容易搭建,但是数据文件损坏了,一切都没有意义,竹篮打水一场空,数据文件完好,要更换验证不同数据库同步方案,都可以实现,建议优先考虑存储硬件的高可用方案。
最终来说,实际业务需求才是根本出发点,技术都是为业务服务的~~