行业洞察
首页 >  行业洞察 >  专家投稿 >  薛春雨:分布式技术架构分享

薛春雨:分布式技术架构分享

  • 发布时间:2016-06-01
  • 来源:微信号“金融IT圈”
  •   
  • 打印

近日,神州信息旗下企业神州数码融信软件有限公司(简称:神州数码融信)主办的“求新思变,智在互联——2016年中国银行业创新发展大会”在溧阳顺利举行。现场,神州数码融信技术专家薛春雨给大家分享了公司最新分布式技术架构。

神州数码融信技术专家 薛春雨

演讲摘录

各位来宾,各位领导,各位同事,大家早上好。这次会议的主题是"求新思变,智在互联",那么在互联网的大背景下,银行后台交易系统该采用什么架构?下面一起来看看神州数码融信的理解。

首先,看一下“互联网+银行”的发展趋势。

互联网发展至今已有十余年时间,银行也在逐步介入其中:

在初期,银行只是利用互联网发布一些信息、推广银行的产品。随着互联网的持续发展,银行发现互联网模式有很多新的机会及发展模式,银行逐渐把互联网当成新的渠道,并且这个渠道的交易量在不断攀升。近几年,互联网快速发展,尤其是前两年,马云推出了余额宝,短短几个月的时间,就让很多银行感受到了前所未有的压力,出现了客户流失、存款流失等问题。余额宝出现以后,很多机构也推出了各自的宝宝产品,这些都是传统金融或者银行业人士在互联网背景下思考的产物。整个过程是一个不断深入和理解的过程,从图中可以看出,我们现在基本还处于在第三个发展阶段。“互联网+银行”的深入发展,将充分体现在互联网思维上。互联网思维最关键的特点是“以客户为中心”,它不仅需要关注客户的金融类交易,还需要关注客户的日常生活,关注怎么快速实现客户需要的产品,使客户的生活更加便利。所以说,基于互联网思维,银行不仅仅是把产品跟互联网进行对接,在战略及组织结构层面都需要有针对性的改变,这些所有的根源就是前面提到的:真正做到“以客户为中心”。

现在很多人都在使用互联网,那么互联网到底有什么特别之处?在互联网模式下,任何人、任何时间、任何地点、任何场景,通过任何的设备,都可以进行交易,并且还有可能五个“任何”同时出现,这种情况最典型的就是 “双十一”。在这个情况下,有着海量的客户,这些客户没有地域限制,没有年龄限制,他们在任何时间、任何地方都可以进行海量交易,并且这些海量交易背后又会产生海量的数据。这三个海量是我们最大的挑战,并且这三个很可能集中爆发,对传统IT的挑战可想而知。

互联网企业怎么做到的呢?

首先,互联网企业的客户量比较大,并发的可能性非常高,但并不是持续的高并发,而是随着不同时间及促销活动会有一些波峰波谷,所以,在整个互联网体系下,“云计算”可以非常好的解决了这个问题,其主要解决方案是横向扩展能力。另外,前面提到的海量用户和海量交易会产生的海量数据,这些数据,除了传统银行使用的关系型数据,也就是所谓的结构化数据,还有很多非结构化数据。所以在互联网企业里,大数据技术的应用也是非常大的一块,这里包括了对数据的采集、分析。如果这些都同时爆发,类似于“双十一”的情况,仅仅有云计算、大数据还不够,在整个业务处理模式上也需要配合、有所取舍。例如超过预计负载时,系统会暂时拒绝交易;通过延时提交,降低业务处理的复杂度及耦合度,还可以做一些有损服务,后期通过的补偿机制来解决等等。

银行与互联网企业相比有很大的不同,比如,银行的系统硬件环境比较复杂,有小机,X86,并且存量系统非常多;从运维角度来看,银行要求高可用、低风险,可控制,从业务角度来看,不仅对业务数据一致性要求高,而且业务复杂度也非常高。

所以,再看“互联网+银行”,银行真正需要解决哪些问题?会面临什么挑战?

在业务高复杂、服务品质高要求的前提下,银行迫切需要用新的方式去解决高并发、大数据量的问题。其中任何一个点容易解决,但要整个面解决就是挑战。认识到这种挑战,神州数码融信几年前便开始着手新架构的研发,那个时候有很多新的技术出现,包括刚才所说的云计算、大数据,大数据里面又有一些相关的技术,有点雾里看花的感觉,到底哪些技术可以解决问题,神州数码融信进行了深入思考。

我们发现,云计算更多的是解决高并发、高流量、弹性伸缩的问题,大数据则是数据层面的另一种思维方式。单一的技术不能解决所有的问题,所以神州数码融信的选择是:采用分布式的理念,合理的使用新技术,且这些新的技术、新的体系,必须跟整个IT发展趋势保持一致。

那么来看看分布式到底是什么样的。

大家或多或少听到很多跟分布式相关的东西,比如Hadoop等。业界对分布式没有一个非常标准的定义,它其实是一种设计理念,但是这个设计理念必须跟我们的需求紧密结合,并不是分布式三个字就可以解决所有问题。银行和互联网对接的时候,有什么问题,就需要在什么层次上对这个设计理念作一个体现。这个理念的核心思想就是:物理上是多份,逻辑上是一份。

分布式如何解决问题?

如果是数据大,数据进行水平拆分,当然可以垂直拆分进行配合;如果计算量大,就用多台机器,不够就加数量;如果负载并发很大,一个实例不够,就多个处理。当然,必须保证整个系统要恪守的前提:数据的一致性、时效性和业务的复杂度。整个机制必须覆盖整个银行现在所有的业务场景。也就是说,要解决面临的问题其实不仅仅只分布式一个技术,而是需要整体上形成一个完整的体系去解决。单独从一个点上只能解决局部的问题。

在整个分布式的思路和理念之下,业界已经有一些“互联网+银行”的案例,最典型的就是腾讯的前海微众银行和阿里的网商银行,这个架构适合腾讯,适合阿里,但是否适合我们,是否适合传统银行向互联网转型,这也是需要我们仔细思考的问题。

神州数码融信的分布式方案称为sm@rtGalaxy。

首先,最下面JVM环境,可以运行在普通的硬件环境,也可以而运行在云平台上。刚才提到了,解决这些挑战不是一个层面的问题,所以首先是从底层的服务层面进行处理,服务的运行是基于分布式的服务运行框架。

然后在数据层面,我们也会做分布处理,让整个的压力全部分解到多个物理库上,不同的物理库,资源会成倍的增加,并且和分布式缓存配合使用,让整个系统的性能大幅度的提升。我们会在业务框架层体现每种业务场景的统一机制和逻辑,在业务实现层,完成交易的特定逻辑。这就是神州数码融信sm@rtGalaxy的思路。大家可以看到,每一层都是可以独立伸缩的。

联机运行,当负载过大时,会加一个应用实例,立刻可以解决问题;当然负载再增加,数据库又有问题了,继续增加数据库实例。这样的效果是每一层都可以非常任性的伸缩。当然,银行除了联机,日终还要做很多事情,如果交易流水是几百万、一两千万还罢了,如果到几千万,或者把互联网渠道真正打开以后,流量可能会到上亿。神州数码融信的思路是,如果是传统的交易日,流水可能在一个相对平稳的范围,通过这个机器就可以进行处理了。如果到月结息日,需要处理的数据就更多,再加机器就可以度过这个平常所面临的挑战。这个问题在传统的解决方案里面是非常难以处理的。

分布式的思路和理念,能带来什么好处?

首先,神州数码融信Sm@rtGalaxy分布式体系对环境的配置没有依赖性,无论是X86服务器,还是小机,或者虚拟机,甚至是云平台,都可以。在操作系统层面,各版本的Linux,AIX、Windows,均可支持。数据库方面,可使用Oracle,DB2,Mysql,神州通用,等等……所有的这些考虑,最终的目标就是帮助银行实现后台关键系统的自主可控,并且降低银行的系统建设成本。

大家看到这么多层面的分布式,会有些不放心,其实没有问题,神州数码融信有灵活的实施策略--如果对数据层面的分布式有顾虑,基础的模式可以只选择应用和缓存层面的分布;如果对数据分布诉求比较强烈,对这个技术也比较认可或者信任的话,应用、缓存、数据层面都可以分布,至少可以在联机的业务层面没有太多的后顾之忧;当然,如果某些银行在整个大数据体系建设比较快,技术人员的储备也比较好,那么计算的分布式也可以纳入,这就是完整的分布式模式处理。

谈了这么多,神州数码融信想传递给大家的是,在现在的这个体系下,我们可以解决前面提到的银行向互联网转型层面面临的诸多问题,还可以保证银行本身具有的特点,这个层面上,可以让大家根据自己的实际情况选择步子迈多大,并且不会产生不可控的风险。

联系我们