金融行业正在流淌着一股去IOE,去集中化的IT架构转型洪流。我有幸参与到这股洪流中,见证这一重大变革。以下是我对这股洪流的一些思考和想法。

1.当前主流金融的IT架构

众所周知,目前大部分金融机构的IT架构还是以“IOE”的IBM大小型机,Oracle数据库,EMC存储为基础的集中式架构。这种架构有以下优点:

  • 成熟度高
  • 可靠性高
  • 可用性高
    这些产品目前承载着世界上众多金融行业的核心系统,而这些产品的厂家在这个领域有几十年的积累,产品的成熟度,可靠性,可用性可见一斑。

不过这种架构也有三大缺点:

  • 第一个就是成本高。硬件,软件,服务都价格不菲。这些费用在金融机构躺着赚钱的时代还是可以接受的,但是在现在以及未来瞬息万变的时代,金融机构的经营形势会越发趋紧,那么这一块IT架构支出就会成为金融机构的负担。
  • 第二个就是IOE的东西都是黑盒,其核心科技就像一个迷。万一再来一个类似“棱镜门”,“华为门”的“IOE门”,金融IT架构的处境可想而知。虽说可能性不大,但是不怕一万就怕万一。所以,自主可控才不会受制于人。
  • 第三个就是可扩展性较差。这种架构无法做到快速,无限制的扩展。之前也提到,未来是瞬息万变的时代,消费模式会从工厂生产什么,消费者消费什么的模式转变到消费者海量碎片化需求主导的模式。那么IT架构需要能支持随时扩展以便适应业务的快速发展。

2.新金融的IT架构

为了避免集中式架构的三大缺点,以互联网银行为代表的新金融IT架构浮出水面。最开始的思路就来源于互联网+:将互联网的架构加上金融架构。这种模式吸收了互联网架构的优势,同时保留了金融行业的高标准要求。

这种IT架构基于开放式的平台,采用廉价的PC服务器集群,形成分布式的架构,在有高性能,高扩展性,低成本的基础上,同时满足金融架构的高可用,低风险,强管控的要求。

图1:新金融IT架构思路

在新金融的IT架构框架下,大量廉价的PC服务器集群(以开源的Linux系统为主)替代了大小型机,很好的诠释了团结就是力量。正所谓三个臭皮匠顶一个诸葛亮,整合的策略对了,三个臭皮匠的能量就能聚合起来发挥出巨大的能量。同时,将集中式的服务拆分成微服务,部署在大量PC服务器上能实现高性能,高扩展性,低成本,高可用的要求。

以mysql为代表的开源数据库替代了封闭的Oracle数据库。我们不光能使用这些开源数据库,查看源代码,而且我们还能贡献我们的智慧,让它变得更好。虽然单个这类数据库的性能可能没有Oracle的好,但是将他们整合起来形成分布式数据库,然后使用分库分表的手段可以达到高性能,高扩展性,低成本,高可用,低风险的要求。

分布式存储技术在某些程度上可以替代EMC的存储。它最大的特点就是高可用性,高可扩展性和高数据可靠性。其典型的开源产品有Google FS,HDFS,CephFS,GlusterFS。

3.金融场景为什么要考虑使用新架构?

除了上文提到的成本问题,自主可控问题,高可扩展性问题外,我认为还有以下原因促使金融机构要考虑使用新的架构。

  • 金融的业务服务范围的扩大,业务趋于互联网化,生活场景化,所以需要有架构可以支撑其短时间内转向和扩展。比如,互联网化的热销理财产品,网络秒杀的场景,银行App生活缴费,吃喝玩乐,结账优惠场景会逐渐增多。
  • 客户连接的复杂化,除了柜台,电话连接,还会有海量用户随时从各种地方,各种设备的连接。这些连接对内部系统连接数,特别是Session连接数和数据库连接数来说是巨大的挑战。金融机构需要新的架构来承载海量的连接,防止系统被打垮。
  • 服务的多样化,从柜面接客,电话银行转换成柜面,电话,公众号,24*7的在线智能服务,千人千面服务等。多样化的服务接口需要分布式架构进行独立性能保障,访问隔离等。

4.分布式架构是否可以满足金融场景的要求?

前面谈了集中式架构的缺点,有人会问分布式架构就没有缺点了吗?似乎分布式系统只能同时满足一致性,可用性,分区容错性三者之二吧?确实没错。

对于金融场景来说,高可用,分区容错性不可或缺,而且一致性也需要得到保证(毕竟谁也不想看到转账到朋友的钱没有到账,结果自己的余额却被扣掉了吧)。

但是,需要注意的是,这种三选二的说法其实是按照集中式架构的模式照搬到分布式架构而言的。试想一下,一台强大的数据库被拆分成了N台数据库,这N台数据库之间的数据需要时间同步,当异常发生时,可能就产生了数据的不一致性。

那么我们换一个角度思考一下这个问题。我们将原来的数据库拆分成了N台数据库之后,每台数据库也只处理原来业务的1/N,同时其和其他处理(N-1)/N业务的数据库之间不进行同步,这样是否就可以解决这个一致性的问题了呢?答案是显而易见的。

这时候有同学又要问了,那如何能保证每台数据库只处理原来业务的1/N?同时数据库的高可用怎么办?

  • 对于第一个问题,支付宝,网商银行给出了答案:使用LDC(单元化)架构,一个能完成所有业务操作的自包含集合,在这个集合中包含了所有业务所需的所有服务,以及分配给这个单元的数据。将业务按照一定维度进行拆分,拆分成N份,每份由一个单元的服务和数据库处理即可。
  • 对于第二个问题,我们可以给主数据库配上两个从数据库,同时实现他们之间的强一致性同步。虽说性能上稍微有些下降,但是却能使整个分布式系统满足金融场景的特殊需求。

    图2:集中式架构向单元化架构演进

此外,从上图也可以看出LDC架构另一个好处就是天然自带灰度属性。新发布的功能可以在某些特殊的业务单元中进行灰度验证,降低因为新版本引发的故障的影响范围。

综上所述,分布式架构理论上可以满足金融场景的特殊需求。

5.阿里的解决方案 - SOFAStack

阿里旗下的支付宝,网商银行的这套LDC单元化架构依托于SOFAStack™(Scalable Open Financial Architecture Stack)。它包含了构建金融级云原生架构所需的各个组件,也是在金融场景里锤炼出来的最佳实践。提供微服务应用开发、部署发布、项目管理、监控运维、容灾高可用等全栈式解决方案,并兼容Dubbo、Spring Cloud等微服务运行环境,助力客户各类应用轻松转型分布式架构。

在宏观架构层面,SOFAStack提供单机房向同城双活、两地三中心、异地多活架构演进路线,使系统容量能在多个数据中心内任意扩展和调度,充分利用服务器资源,提供机房级容灾能力,保证业务连续性。

异地多活单元化架构是“三地五中心”部署模式的技术创新。在该架构解决方案下,可以避免跨机房、跨城市访问的延迟,真正实现异地多活部署,不但消除了传统“两地三中心”架构中的单独冷备中心,并提升了灾备高可用能力,无论在成本还是在伸缩性、高可用方面,都带来了巨大的优势。

图3:SOFAStack提供的容灾架构演进路线

在微服务层面,SOFAStack包括了一个面向未来架构的微服务平台,支持异构应用融合迁移。

微服务平台通过SOFA微服务和Service Mesh微服务,提供了既支持SOFA框架又支持Service Mesh架构的微服务管理和治理能力,解决用户在技术转型期间与未改造的遗留系统相互之间打通和过渡问题,帮助金融机构平稳地从传统的集中式、微服务架构演进到云原生架构。

图4:SOFAStack的面向未来架构的微服务平台

在分布式应用组件层面,SOFAStack还提供了分布式中间件套件以满足传统金融架构的平滑迁移、融合适配,以稳妥应对业务升级变更,并积极应对金融交易系统所面临的服务和数据扩展性、事务一致性、秒级容灾、弹性供给与调度等关键技术挑战。

图5:SOFAStack的分布式中间件套件

在应用生命周期管理层面,SOFAStack提供了一个多模应用PaaS平台,SOFAStack CAFE(Cloud Application Fabric Engine)云应用引擎。它提供应用管理、流程编排、应用部署、集群运维、监控分析、容灾应急等全生命周期管理的PaaS平台能力,满足金融场景中经典和云原生架构的运维需求,帮助传统架构平滑过渡、保障金融技术风险。

图6:SOFAStack的多模应用PaaS平台SOFAStack CAFÉ云应用引擎

6.结语 - 架构未来将何去何从?

所谓天下大势,合久必分,分久必合。在笔者看来,架构也是如此。现在,我们正处在合久必分的洪流中。但是未来,可能是较长之后的未来,未必不会出现分久必合,合久必分的反复。

比如说,未来,我们掌握了自我可控的性价比高的强大核心计算技术;

比如说,量子计算,生物计算,光子计算,超导计算等有了巨大突破;

那么,那时候未必不会出现分久必合的局面。

再远一些的未来,由于数据范围扩大,我们可能不光要计算一个省的数据,更可能需要计算一个国,甚至整个地球的数据;

再远一些的未来,由于数据维度扩大,数据量也会爆炸;

那么,那时候未必不会再次出现合久必分的局面。

让我们拭目以待吧!

新金融分布式架构之SOFAStack解决方案相关推荐

  1. 阿里架构师,讲述分布式架构云平台解决方案(附学习路线)...

    技术架构 分布式架构云平台在充分分析IT技术发展趋势,遵循集中化.标准化.集成化.可靠化和可扩展化的设计原则,以价值创造为使命,以规范化.一体化.智能化的云平台为支撑,实现信息的透明共享.业务的敏捷协 ...

  2. 分布式架构中一致性解决方案——Zookeeper集群搭建

    当我们的项目在不知不觉中做大了之后,各种问题就出来了,真jb头疼,比如性能,业务系统的并行计算的一致性协调问题,比如分布式架构的事务问题, 我们需要多台机器共同commit事务,经典的案例当然是银行转 ...

  3. mysql 连接器配置_配置连接器 - 金融分布式架构 SOFAStack - 阿里云

    本文介绍如何在现有的应用工程中配置数据访问代理连接器. 操作步骤 注意:下列各步骤中的配置仅供参考,您需要根据实际情况进行必要的修改. 1.在工程根目录的 pom.xml 文件中,根据需要添加以下 M ...

  4. TiDB x 微众银行 | 耗时降低 58%,分布式架构助力实现普惠金融

    「我们已经用起来了」,是我们最喜欢听到的话,简简单单几个字的背后代表着沉甸甸的信任和托付.从今天开始,我们将通过**「相信开放的力量」**系列深度案例分享,从业务的角度,看看一个数据库为各行业用户带来 ...

  5. 又快又稳,金融级分布式架构如何实现?

    作者:杜茂森 在互联网和信息技术革命推动下,金融领域的"底层物质"正在发生深刻变化.以移动化.云计算.大数据.区块链等技术为主,传统金融业务与互联网技术融合,通过优化资源配置与技术 ...

  6. 腾讯云“金融分布式核心”联合解决方案

    6月24日,基于国内银行对以云为承载的全栈国产化IT系统的需求,腾讯云携手神州信息正式推出了"金融分布式核心"联合解决方案.双方采用开放平台技术-核心平台+云平台实现业务的分布式处 ...

  7. 云上快报 | 分布式架构引领核心系统架构转型新趋势

    简介:近日,国际权威IT研究与顾问咨询公司 Gartner 发布[Market Guide for Cloud Infrastructure and Platform Services,China], ...

  8. 骁龙AR2平台解析:分布式架构开启轻量化AR眼镜新时代

    在今天的骁龙峰会2022上,高通面向轻量化AR眼镜推出了专属SoC:第一代骁龙AR2平台,这套方案将骁龙XR1.骁龙XR2的单片式方案,改为多芯片分布式SoC方案,同时融合了分离式渲染,实现一整套的A ...

  9. 新浪顶级架构师保驾护航,国内首本大型分布式架构笔记浴火新生

    前言 随着IT系统复杂度不断增加,无论是为了降低团队的知识负载,还是为了最大化利用云原生的弹性能力,分布式架构已经成为处理新一代复杂系统的默认架构模式.但它的引入也同样:大幅提高了架构的复杂性,导致系 ...

最新文章

  1. MicroPython支持的开发板:高性能、低成本创客首选
  2. Java变量的作用域
  3. wxWidgets:wxBookCtrl 概述
  4. maya 中使用节点连接来求余数:
  5. 使用ABAP Push Channel(APC)开发的乒乓球游戏,可双打 1
  6. 快捷键jdeveloper
  7. 【重识 HTML + CSS】定位
  8. ubuntu 添加删除源
  9. WIn10桌面美化(一)Rainmeter的使用
  10. python 微信发送图片失败什么原因_微信发不出去图片的4种解决方法
  11. 小程序源码:全新超火的微信小说小程序源码-自带采集带安装教程-多玩法安装简单
  12. 文件上传 webshell 各类型 一句话木马 图片马 制作 教程
  13. 第四章USB数据流模型
  14. 大数据实时处理第三周课
  15. IOS 公司开发者账号申请详细教程-13810208661
  16. MFC使用Windows API实现U盘插拔检测,获取U盘容量,U盘内容移动删除,开启和关闭U盘以及获取盘符
  17. [转载] 深入理解Android系统网络架构
  18. Erasure Code - EC纠删码原理
  19. 科研人,如何辨别期刊是正规期刊
  20. 齐鲁工业大学c语言程序设计试题及答案,2016年齐鲁工业大学理学院C语言程序设计考研复试题库...

热门文章

  1. MacBook如何分屏?MacBook Pro实现分屏的3个小技巧
  2. 听完计算机知识讲座后感悟,计算机知识讲座观后感
  3. 从价值观选择到重构思维模型
  4. 有什么样的羽毛球品牌可供选择?
  5. 新型冠状病毒席卷全国 Filecoin如何在突发卫生事件中赋能抗疫
  6. ios13全选手势_iOS13这六个实用小功能 你知道吗?
  7. MATLAB中fopen、fseek和ftell的用法
  8. Fiddler基础入门教程【5】--弱网设置(模拟低网速)
  9. 微信朋友圈的实现(图片查看,手势放大、缩小)
  10. 麒麟980能运行Linux吗,麒麟980是否可以达到骁龙845或者A12的水准?