查看原文
其他

争议 | 对于繁多的外围系统,“双活”建设采用硬件模式好还是软件模式好?

twt社区 twt企业IT社区 2022-07-03

来自twt社区同行交流,欢迎更多同行参与交流

对于繁多的外围系统,其“双活”建设模式采用哪种方式更为妥当呢?

对于日益增多的外围应用系统,银行业都在进行系统应用“双活”的建设,目前有采用F5等设备来实现的,即多个系统共用F5设备,也有使用软件集群方式(如中间件集群)来实现的,前者通常称硬件模式,后者称软件模式。对于繁多的外围系统,其”双活“建设模式采用哪种方式更为妥当呢?

问题来自@kh17121823 华融湘江银行 系统工程师,下文来自twt社区众多同行实践经验分享。


@梅志荣  技术总监:

在这个特定场景下,建议“双活”模式可以关注以下几点。

1. 业务交互效率。双活环境下,需要两个中心同时处理来自外围业务端的服务请求,不管是硬件模式还是软件模式,都需要通过实际测试验证业务数据交互的效率如何,确定具体选择方向。

2. 稳定性问题。双活环境下,相对来说硬件在性能和稳定性更具优势。软件模式需要满足部署环境的要求,影响软件模式的稳定性的因素也比较多,比如网络因素,软件漏洞等,同时也会占用系统资源。

3. 故障切换速度。在这个问题上,同样硬件模式相比软件模式更具优势,F5设备内为自有系统,针对应用交付进行了很多优化设计,还提供了脚本自定义功能,相比较软件模式,硬件模式故障切换更快捷高效。

个人认为需要根据实际业务环境和特点选择,硬件模式在某些方面更具先天优势,软件模式自由度高,部署成本也相对较低。仅供参考。


@saric  系统分析师:

“双活”建设模式采用方式必须符合业务需求和成本预算

1、如果双活业务需求的要求非常高的,对成本预算很大,如电商、金融行业等少数在线实时交易平台才会去用,大多都是私有云上的硬件方式,而且业务应用软件也要求支持双活,例如数据库用oracle RAC 19c 或其他分布式数据库。

2、业务需求不高,成本要求低,性价比高的那就用国内常见的那几家云服务商的负载双活好了,比买硬件集成搭环境要省钱,性价比很不错。


@hualinux  系统工程师:

1.虚拟化搭建两套集群,应用平均分布。然后再通过F5做负载。

优点:稳定性好,外围核心也这么做。

缺点:费钱。

2.分布式文件系统:GPFS、HDFS等。

优点:省钱。

缺点:不太易管理,有中度出现故障的概率比,性能还好。

3.通过软件模式的就比较好说了。

优点:特别省钱。

缺点:软件创造一切,软件毁灭一切。

最后还是预算说了算。


@赵海 技术经理:

就问题本身来讲,是一个对容灾过程中负载均衡模式的探讨问题。

一、如果采用F5或者是其他的方式实现负载均衡的话,优势有三点:

1、架构统一,只要硬件设备容量够的情况下,所有应用都可以通过建立VIP虚拟资源池的方式来实现。

2、运维复杂度低,硬件负载均衡本来就是成型的产品,它的配置主要工作量在于VIP虚拟资源池策略。

3、稳定性好,基于硬件实现的负载均衡相对来讲稳定要可靠一些。

但是它也有它的劣势,主要表现为:

1、灵活性差,我们只能基于它提供的模板以及二次编程的接口来实现负载需求。

2、成本较高,F5本身来讲的硬件设备成本以及运维费用较高。

二、如果是采用软件(软负载、中间件集群方式),优势有三点:

1、灵活性好,我们可以基于应用的特殊性选择适合它的软件或者中间件来实现适应性强的架构。

2、扩展性好,如果采用软件负载均衡模式,意味着只要在软件算法允许范围内,我们是可以实现非常优秀的横向扩展。

3、有利于互联网应用的发展,互联网应用的应用架构大多区别于传统应用,软件模式天然与他们有一种契合度,这个是F5没有办法完成的。

但是同时也会有它的缺点,主要表现为:

1、不同的应用可能会有不同的中间件,如果采用中间实现的话,最终的架构会比较乱。

2、软件维护复杂度要高于F5产品,并且可能会有很多不确定的坑需要踩。

3、软件架构整体的稳定性是需要一个不断优化的过程。


@某金融行业用户:

金融行业成本预算够的话,建议还是硬件F5设备相对稳定可靠一些。但是也可以根据系统分级,依据系统要求灵活使用两种方式,来满足最终需求。

1.软件负载

优点:配置简单,使用方便,成本低廉,可满足大部分负载需求。

缺点:中间件集群配置不够灵活,易用性较差。如果部署多套中间件集群,不利于监控维护。

项目周期----如果自研的话,项目周期会比较长

2.硬件负载

优点:操作界面统一友好,能够灵活实现各种业务需求,更适用于应用基础环境复杂、访问方式多样、多数据中心、超大并发访问。运行稳定,方便管理监控,且有强大的原厂技术支持。

缺点:设备价格较高,如果做冗余配置,设备成本更高。


@cpc1989 某金融公司 系统工程师:

这个问题聚焦在应用级双活的实现方式是采用硬件层面的负载均衡还是采用中间件集群方式来实现,我个人的理解是硬件层面双活是基于底层技术来实现的,性能稳定,也更具有通用性;而软件层面则更贴近于应用本身,需要技术人员更了解应用间的联系,构建更加复杂,需要更多的技术投入才能使用好,优势也在于更加灵活和贴近应用本身。在各自的使用场景中,主要取决于IT资本投入,技术投入等因素,当然两种技术上也可以结合使用。


@邓毓 江西农信 系统工程师:

其实看能力了,像F5这样的硬件负载比较简单,UI界面配置化,功能强大,能够实现绝大部分负载均衡的双活需求,对用户的要求不高,甚至简单培训一下的用户都能上手做配置;而软件负载需要基于操作系统或软件做定制化配置,基本配置很难满足高并发高可靠需求的,尤其是一些开源的软件,更是要深入了解,才能用好。同时因为没有UI界面,对普通用户不友好,难以第一时间掌握,但对对于一些互联网原生的应用负载来说,比较适合,毕竟现在互联网应用基本趋势都是开源,不差这一个。 总结起来就是能力强上软件负载,灵活性也更高,能力一般上硬件负载搞双活比较省心。


@chinesezzqiang  信息技术经理

您说的没有错,双活从使用的介质上分主要分为软件和硬件两种,但是哪些应用建议通过软件来实现双活,哪些建议通过硬件实现,个人建议要按照以下几个维度去判断:

1.应用系统的重要程度

一般情况下,系统按照影响范围【广】和影响程度【深】分为一般系统、重要系统及核心系统。对于一般系统建议通过软件实现双活,或者不做双活。重要系统通过软件实现双活,核心系统通过硬件实现双活。因为硬件的速度和稳定性要高于软件的双活。

2.整体IT投入成本

从企业整体的IT投入上考虑,构建硬件双活成本较高,构建软件双活成本低。银行作为金融行业的重要载体,对于重要及核心业务应该倾向于硬件双活方案,毕竟以稳定为主。 

3.运维成本

软件双活方案构建复杂,需要较高技能的人,人力成本和时间成本较高。硬件双活方案构建相对简单,对人员要求不高,后期运维成本低。

4.企业整体软件架构环境

还要考虑企业整体的IT架构环境,比如企业整体趋向使用开源架构,要求自定制能力强,那么软件双活将成本首选。硬件双活方案比较适合传统企业和重型系统【体量大、改动小】。

5.应用软件自身架构

有些是和软件自身绑定的,比如oracle数据库的双活rac,微软数据库的双活均使用自身软件,无需硬件介入。

欢迎点击文末阅读原文到社区讨论交流,发表您的观点

觉得本文有用,请转发或点击“在看”,让更多同行看到


 资料/文章推荐:


欢迎关注社区 “应用双活”技术主题 ,将会不断更新优质资料、文章。地址:http://www.talkwithtrend.com/Topic/1501


下载 twt 社区客户端 APP

与更多同行在一起

高手随时解答你的疑难问题

轻松订阅各领域技术主题

浏览下载最新文章资料


长按识别二维码即可下载

或到应用商店搜索“twt”


长按二维码关注公众号

*本公众号所发布内容仅代表作者观点,不代表社区立场

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存