APP下载

基于SOA技术架构的多并发异构业务系统中台技术设计

2022-09-08汪波

电子元器件与信息技术 2022年6期
关键词:资料库异构架构

汪波

无锡农村商业银行股份有限公司,江苏 无锡,214000

0 引言

SOA面向服务体系架构(service-oriented architecture,SOA)是一种服务不同功能单位的构件组合模型,它们通过各类型之间的良好的界面和合同而被连接在一起[1]。基于SOA技术架构的多并发异构业务中台系统提供了一个通用、可互操作、灵活的工业标准体系结构,其可以在一个软件基础上构建一套可重复利用、可循环的业务模式,其包含了各种应用程序的组成部分,并能满足不断变化的业务过程需要。在SOA技术结构系统中,针对传统 MVC模型,业务逻辑层从逻辑上进行业务逻辑、业务服务和业务过程的逻辑设计,以及技术上的规范化。该标准的建立可以减少企业信息系统的投入,使其在体系结构上更加适合于迅速变化的业务过程和业务模式,最大限度地保留原有的信息资产投资方,并降低对硬件资源的依赖性,从而改变整个企业的信息化进程。

1 SOA技术架构应用优势

SOA技术体系结构采用新的商业模式和管理功能,实现了实时的整合。集中式的数据和应用程序,便于在部署、管理、技术功能等方面进行调整,能够加快企业的反应能力和稳定性[2]。采用成熟的中间件,可以使一个体系结构去支持多个应用程序,从而减少系统的结构资源成本和人力资源。在与第三方进行系统对接和开发时,API接口通过微服务平台为用户提供标准化的服务,使用户在与第三方进行连接时不再有任何顾虑。此外,SOA技术架构具有纵向扩展、横向扩展、缓存、负载均衡、高可用性、高安全性、易于管理且用户体验良好等优势。

2 基于SOA技术架构的多并发异构业务架构设计

2.1 统一化企业信息集成平台

SOA是一种具有灵活性和强大功能服务层的构件组合模型,其核心优势在于对公用基础应用(中间件)和专用应用进行总体规划,从而达到分层化、模块化的目的,从而使公共软件、硬件资源的利用率达到最大化,降低整个体系的合成多样性,需以服务的模式来规划其在企业产业管理体系中的功能[4]。基于SOA技术架构的多并发异构业务架构体系在设置之初需要构造一个统一化的企业信息收集平台,该集成平台系统会主动查找信息在客户发出指令后,并将其反馈到用户的即时决策中。在数据存取层中,还加入了一些辅助工具,通过计算机自动操作来排除不相关的数据,并且快速地进行故障诊断,是许多公司和其他部门常用的一种系统。 基于SOA架构技术的业务流程异构系统的集成平台模式中包括以下几个组成部分

中心节点。目前基于SOA的业务流程异构系统已经将BPO-P以中间件形式融入到企业业务中。其中心节点中的BPO-P包括五层中间件BPO-P层,能够在普通应用服务器上加以应用,为系统和终端用户之间提供交互;系统管理层:提供用户所需管理、分配权限、管理资源、控制登录等服务;辅助组件层:包括辅助BPO-P快速部署及功能组件,分别为web服务封装、服务访问代理、服务注册、业务流程等;集成服务总线:提供web服务运行的环境及性能监控、服务管理、事务处理等系统性功能,可以实现多种第三方服务功能。

子节点。平台内的子节点能够根据业务相关需求实现无限扩展,每个平台节点分别包括了web服务封装模块、编排业务流程模块、服务注册与发布模块以及服务访问代理模块。

Web服务封装。SOA架构技术中web服务封装模块是一项重点内容,通过现有专门辅助封装工具帮助企业内部工作者迅速完成封装工作。

业务流程编排。基于SOA架构技术下对现有web服务进行组合编排能够形成新的业务流程,当流程变化时可以通过改变编排快速适应现有流程。

并发异构平台适应服务器部署。BPO-P服务将输出结果进行编译、测试、部署等联系在一起自动执行开源工具,其具有结构清晰、操作便捷、易于集成等优势,能够满足并发异构平台服务部署需求。

2.2 多并发异构业务架构体系设计

首先要进行业务分割,其是指业务上的拆分,以高内聚、低耦合为业务内容的划分准则,将比较复杂的业务划分成不同模块,将模块单独部署并实现接口化,实现业务上的细粒度横向分割,降低业务复杂度,同时对业务模块进行分块规划与维护,减少系统整体宕机的时间。根据公司不同业务需求和板块,支持服务化的开源技术框架包括Dubbox、Dubbo以及Spring Cloud等,在业务拆分前需要经过架构、开发、业务以及DBA等多部门共同讨论,针对公司业务短期内的发展区划分业务板块。在SOA的架构中,各个服务模块通过控制器(manager)进行统一管理,提高了对服务模块的可控性。流程服务和管理服务通过WF架构实现工作流的持久化和跟踪。具体的服务流程如图1所示。

图1 SOA 技术架构下业务服务流程

3 基于SOA架构技术的多并发异构业务中台系统分层架构设计

在进行分级体系结构后,通常包括前端接入层、中间应用层、公用服务层和数据存储层,其中接入层含有CDN、DNS转发、负载均衡、静态资源层等[2]。信用负载均衡的系统分层架构图如图2所示。

3.1 业务应用层设计

高内聚、低耦合是企业应用系统的主要目的,而业务分解是企业间分离中的一个重要工具。一般而言,按照企业的商业体系特征和相互关系,将其分解为公用的业务系统,并将其作为一个通用的业务应用,且将其作为一个界面。在不同的业务系统中,采用不同的配置方式,使体系的耦合幅度降低,让体系之间的影响因素减少,以达到整体体系利用率大大提升的目的。由于有了前一层的负载平衡和逆向代理,所以后端的所有应用程序都可以横向部署,提高整个系统的利用率,提高系统的吞吐能力,且提高其并发能力。在实际应用部署中,大部分都是Java程序,且大部分都是在Tomcat中部署的,以此举例,在部署应用程序时,需要注意的问题有哪些,或者是推荐JDK和Tomcat的统一。这样既能更好地管理,又能更好地进行自动化的维护和部署。其中,操作系统优化,安全加固,Tomcat优化。在Tomcat的自动化部署中,我们采取一种基于系统配置和安全强化策略的自动优化方法。另外,系统还提供了一个自动化备份和一个自动的日志记录,且通过统一的部署脚本来实现。这样,部署组合中的安装位置、部署方式等将会保持一致,从而实现了统一的管理、备份和升级。而静态的动态页面,这一特性可以提高访问速度,以满足不同的访问流量。

3.2 公共服务层设计

公共服务层分离了一些缓存内容、消息队列、session、文件图片、统一调度、定时任务等,作为独立的服务,提供业务层的缓存、消息队列、图片等服务。

高速缓存是指快速有效储存信息数据。操作系统服务器对一般的信息进行检查可以利用储存服务器,能够提升整个体系的搜索效率。该方法通过对报文队列的异步调用,实现对报文的短时间储存,大幅度提升体系的并发率,提升其整个体系的操作效果。数据高速缓存和session存储都是Redis。数据存储层将详细描述 Redis集群的部署结构。主要的中间件是活动MO和RabitMQ,它们都可以提供主-slave或者集群部署。Kafka主要用于建立一个日志分析平台[3]。至于 ActiveMQ和 RabitMQ,其实差别并不是很大,都是在工厂里运用的,问题不大。在技术方面,最好是运用熟悉的开发和维护,更详细地说,最好达到最熟悉开发这一标准。

对于文件图片服务器,且对于企业来说,如果具有高度机密性,并且是可以在企业内部使用的,那么就需要建立一个分布式的文件服务器和图片服务器,再运用 FastDFS的方法去构造一个分布式的资料服务系统。推荐通过购买云计算的方式去服务受众人群,以便于维护和管理,同时,由于云计算本身的特点,其能够加速下载文件和图片。

公共服务层的体系结构和部署结构普遍都是采取高可用方法,主要是从和、集群两方面,它们都是分布的。因为所有的商业都在被调用,因此公共服务非常重要,所以确保在实际产品安排中运用高可用地方案,其可在一定范围中调整程度。分析公司的真实状态,在安排公共服务的部署时,可以采取主从式和 Cluster的部署。

为满足实时扩展要求,安置一个脚本在集群中,帮助集群中的服务器范围能够快速地扩大。一致性hash方法是分布式扩大方案中经常运用地。

3.3 数据存储层设计

在信息资源库中,可将其内容分割为关系数据库和 NoSQL数据库。从高可用的集群中,包括负载平衡,读写分离,分库分类表等内容[5]。

Redis是 NoSQL数据库的主流。Redis高频率运用高可用模式是哨兵模式和群集。其最有用的特色除了上面提到的共享 wession存储外,就是储存普遍遇见的资源,推荐在产品环境中进行分组配置,而非关联信息资料库。分库和分区是其除了高可用和监测外还存在的一个大问题,因此,如何迅速地进行大规模的扩充,对于系统的建设也非常重要。

关于 Redis的操作系统,强烈建议在初始规划中将扩展问题考虑在内,这样可以避免后期的移植和网络扩展,其类似于一个关联的资料库。Redis的分类和扩展是一个系统架构的关键,特别是在业务快速增长的时期, Redis中的缓存数据越来越多,若不好好规划则会失去主动权,Rodis拥有三种集群方案∶

主从复制∶在主从复制模式下,首先包含了主资料库(master)和从资料库(slave)的概述分析。主数据库是一个活跃的商业应用程序,可以在任何时候进行读取和写入,读取和写入的数据也会准时排序,将更改的内容同步到从数据库中。一个主资料库可以有多个从资料库,但一个从资料库只能有一个主资料库。

岗哨:雷迪斯的运作情况由岗哨进行检测操作,它的主要功能有:主要监视从资料库的运作情况;主站发生故障时,会自动转换成 mastcr;安置不同位置岗哨时,其会相互检测;且一个redis能够被所有岗哨检测。

集群:使用集群,将多种类型的信息数据库整合分析,且安排启动各个数据库的clusterenable组态在一个时间点。在每一组中,至少要有三个主要资料库才能维持其稳定的运作。

4 结语

当前 SOA业务流程中的异构系统整合已成为当今的一个研究热点,利用已有的技术与平台来构建异构系统,能够适应企业日益增长的需求,能够有效地支撑起企业的应用系统整合,以达到协同工作的目的。同时,应用公司也可以根据新的体系结构,对原有的系统进行抽选式替换,建立一个全新的商业模式,并将其引入到不同的软件供应商中,从而逐步消除不同结构体系中的资源单一存放,让智能化运用起来更加便利简易。

猜你喜欢

资料库异构架构
ETC拓展应用场景下的多源异构交易系统
离散异构线性多智能体系统的输出一致性
试论同课异构之“同”与“异”
功能架构在电子电气架构开发中的应用和实践
构建富有活力和效率的社会治理架构
凝聚与铺张——孙绍振教授《以丑、呆为美》两岸同课异构教学观摩后记
实现科学教材中资料库的教育价值
走出教学盲区 填充智慧行囊
大学生自建口译资料库初探
VIE:从何而来,去向何方