银行分布式架构

摘要:近年来,随着移动互联网、物联网、大数据、云计算等为代表的新兴技术的迅速发展和广泛应用,对应用系统的访问量、响应速度、复杂程度都提出了更高的要求。随着数据量的激增,大数据也已经渗透到电信、金融等诸多领域。不可否认,这些新兴技术的确能增加企业知识财富的固有价值,但同时也使其当前的IT技术架构面临极大压力,在这种背景下,分布式架构受到越来越多的关注,应用范围逐步扩大。

1.分布式架构体系

分布式架构是一套构建系统的准则。通过这套准则,可以把一个复杂的系统划分为一套简单子系统的集合,子系统之间应该保持相互独立,并与整个系统框架保持一致。而且每个子系统还可以继续细分,从而构成一个复杂的企业级架构。构建企业级软件系统时,除了要考虑系统架构及其应具有的功能以外,还要关注整个架构的可用性、可靠性、性能、重用性、安全性、扩展性、容错能力以及管理维护等各个相关方面。

传统集中式架构,其并行能力是由服务器决定的,也因此受到服务器的制约,要提高应用处理能力,必须升级服务器配置,例如增加服务器的CPU核数或内存容量,而一旦服务器的所有CPU或内存槽位插满,这台服务器上的应用系统能力就定格了,无法继续提升,除非换用更为强大的服务器。

采用分布式无状态的SOA化架构构建金融应用系统,可以使应用的并行处理能力可无限扩展。

分布式是指每个应用都是集群化部署的,集群中每个节点都运行在轻量、廉价的应用容器中,节点的数量可以任意变化,根据当前对应用的处理能力要求,可以任意增加或减少节点。所有节点集合在一起,对外提供一个逻辑上的“服务器”,因为节点数可随意增加,这个逻辑“服务器”的CPU核数、内存容量是可以无限扩展的。

分布式的另一层含义是一个金融系统的服务能力不是由一个应用提供的,而是由数个、数十个、甚至成百上千个应用协同在一起共同提供的,应用间服务调用的形式互相沟通与协调,这就是所谓的SOA化架构(Service Oriented Architecture)。SOA使得每个应用可以关注自己的核心逻辑,应用之间通过简单、精确定义的服务接口进行交互,形成高内聚、低耦合的系统架构。基于SOA可以更容易构建出分层的、健壮的应用系统。

在此基础上,为了使应用真正可无限扩展,每一个应用都应该是无状态的,即应用程序在运行时只执行逻辑,不在内存中存储状态。这就意味着任何一个应用的任何一个节点发生故障了,可以直接将其下线,不必担心数据丢失。如果应用容量不足,需要扩容,新增加的节点启动后可以立刻开始提供服务,不需要执行预热和数据准备。

互联网架构体系提供了一套应用开发框架,基于此框架可以用很少的代码开发出具有SOA风格的应用系统,开发者只需要关注应用本身的业务逻辑,而不需要关心如何发布或调用一个服务。

另外,其提供的发布部署功能,能够自动化、简单的在数量众多的服务器上部署大量应用程序,这就让分布式应用系统的运维变得很简单。

从应用的角度来区分,分布式架构又分为支持分布式分析系统架构和分布式交易系统架构两类。针对这两类应用的不同特点,分布式架构有不同的架构方式。

分布式架构体系有8个子项目,它们分别是分布式文件系统、分布式计算框架、分布式数据库、分布式缓存、分布式协作服务、资源调度与管理、分布式序列化和分布式监控管理(分布式日志系统)。

要全面理解这些子项目是如何相互运作协调的,并不是一件非常容易的事情,组成分布式架构的这些组件,他们既相互依赖不可分割,又具有各自独特的原理。以下将分别介绍分布式架构的各个主要组成部分。

说明:(1)文中的配图大多来自互联网上授权图片提供商,并已获得免费使用授权,如果文中内容或是图片侵犯到您的权益,请及时告诉我。(2)本文主要内容来自王汉民等著由机械工业出版社出版的《银行信息系统架构》一书,本文主要目的是学习金融行业知识,如果您想了解更多内容,请购买原版图书。如果文中内容侵犯到您的权益,请及时告诉我。


分享到:


相關文章: