APP下载

基于开源分布式的业务系统技术架构研究

2020-10-27陈忠火

中国科技纵横 2020年10期

陈忠火

摘 要:随着现在业务系统的不断发展,如何长期保存日益增长及不断变化的数据成为人们面临的一大难题。IT行业现在也面临着巨大的挑战,很多机构为降低成本,适应当前的发展环境,共享技术成果,解决自身问题,大多使用分布式业务系统来保存数据,以此来适应快速变化的市场需求。随着分布式系统技术的日益发展,越来越多的机构为满足自身增长的业务需求,电信运营商如何利用开源分布式架构对业务系统进行了研究改造。本文分析研究了开源分布式的业务系统技术架构,旨在优化管理,实现契合业务的发展速度。

關键词:开源分布式;技术架构;业务系统

中图分类号:TP311.52 文献标识码:A 文章编号:1671-2064(2020)10-0067-02

0 引言

随着日益庞大的软件系统,单点应用模式已经无法满足当前业务系统的发展,因此就更加需要开源分布式的业务系统解决相应的难题,且该分布式系统拥有众多优点,避免了传统系统的弊端,现在该业务系统已然成为较多机构最受欢迎的架构模式。该系统不仅解决了之前应用系统的弊端,还将各组件应用到实际生产环境中。2014年,电信集团为改变封闭的业务系统缺点,对业务系统提出了建设性的要求,要求各地方公司实现IT互联网架构的横向扩展,该政策推动了IT行业架构开放化、互联网化的行业要求。

1 开源分布式架构的优点

1.1 学习的成本较低,使用简单

开源分布式的业务系统技术架构入门要求不高,且学习比较便捷,花费时间较短,能够即学即用,另外,该架构较为简单易上手,节约大量的学习时间及成本。随着分布式技术的发展,越来越多的行业使用了开源分布式架构作为自己系统的基础架构,对电信运营商或者电商的支持效果尤其明显。

1.2 便于测试且性能较高

开源分布式架构注重的主要是系统的功能性测试,因功能比较单一,故无需多次测试,且该构架性能较高,出现性能方面的瓶颈可能性较低,并对引入的相关依赖性也不高。低依赖性便于出现性能瓶颈的时候检测方便,整体的操作比较简单可行,功能性比较强。

1.3 便于部署且监控比较便捷

开源分布式架构中的系统应用能够完成独立的部署,便于操作,且能够完整记录系统的工作行程,对系统出现的问题能够及时监控及报告,对系统的不同指标及运行的状态都能随时掌控,这样使得开源式架构作为一种基础且有保障性的系统对整个系统的运行起到了重要的作用。

1.4 可扩展性

开源分布式架构可以随系统不同的需要进行横向扩展,服务器数量越多,系统的处理能力越强,以此满足企业各项数据的需求。该架构的核心理念是:单个服务器无法完成较大数据量的工作时,由多个服务器协同完成。该架构每个节点使用的是性能一般的PC服务器,通过增加服务器数量的方式提高该架构系统的整体性能,而不是通过加强每个节点的性能来提升,这样对系统整体的技能提升要求就会变得简单,只通过加装服务器便可以实现企业的数据增长的服务要求。

1.5 廉价高效

开源分布式架构每个节点使用的一般是价格较低的PC服务器,以此组成架构集群,处理数据的性能可以媲美大型机,但是在成本上却是比较廉价的,远低于大型机的成本,该特点是分布式架构系统最为突出的优点,但可靠性方面却远不及大型机,我们可以提升软件质量,通过提升软件与硬件的容错率,从而提升系统的可靠性,两者相容便使得开源式分布具有价格低但是效用高的好处,为企业从源头上节约成本。

2 开源分布式架构的缺点

(1)调试服务器时需使用网络,对架构系统产生较大影响,这样会进一步导致管理式分布系统中的服务和调度变得困难和复杂。(2)开源分布式架构服务器较多,产生宕机的几率大大增加,一台服务器系统出现问题将会导致整个系统无法使用,并且测试和查错的复杂度增大。(3)开源式分布基于前期的优点基础上,后期的运维难度会加大,当系统部署单个服务的时候速度较快,但是如果一次需要部署多个服务,流程就会变得复杂,此时系统的吞吐量就会加大,响应的时间就会变得更加的慢。(4)开源分布式的环境下,数据难以保持一致,就会导致管理分布式系统中架构设计变得复杂。

3 开源分布式架构系统设计需要注意的核心关键点

3.1 扩展性

扩展性指的是对原有的系统产生较低影响的前提下,架构系统功能可持续扩展的能力。主要表现在不需要经常变更基础设施,各个应用之间的依赖较低,能够迅速地响应需要进行变更。低耦合的系统设计更便于管理,且能够更加轻松开发系统及维护系统,该方式弥补了传统耦合系统的不足,使得应用与应用互相分离,与数据也互相分离。其中应用与应用互相分离的方式是分布式消息队列通过消息对象和利用服务总线通过接口分解耦合系统来达到需求[1]。

3.2 可用性

可用性指的是系统能够有效访问的性能,包括部署服务器集群备份数据及服务、均衡的负载转移没有状态的服务、消息列队等方式,这样在进行一个服务的时候,如果其他的服务项出现了问题,就会防止一个服务终止运行,导致整个系统应用瘫痪的弊端,从而避免故障并联的问题出现,避免牵一发而动全身的故障,从而实现较高的可用性操作。

3.3 伸缩性

伸缩性指的是系统在处理事务的过程中,能够增减自身资源来达到所需求目的的能力,通常设计系统构架时,为增加系统整体处理事务的能力,大都采用服务器集群的方式增加其性能,这样在考虑开源分布式架构的系统设计就需要有一定的整体性和集群性,而不再是单独的增加节点来获取数据支持等。

4 开源分布式系统技术发展现状

随着经济的发展,开源分布式架构现如今越来越多地应用到各行各业当中,对行业的业务系统进行了构造,对日益增长的业务作出了巨大的贡献。开源分布式系统技术已经将IT行业架构的各个层面全面覆盖,且新的业务对IT行业产生了巨大的挑战,利用该系统技术可以解决遇到的较多问题。开源分布式系统技术已经成为现代各行业必不可少的技术,近年来刚刚兴起的技术大多数也已经与该技术形成联盟关系,为求解决自身问题。针对传统行业,陈旧的技术及设计阻碍了自身的发展,因此如何将开源分布式系统技术引进传统行业成为现在必须要考虑的事情,对此,应当选取适合自身发展的项目,适时引入开源技术,拥有自己的团队,团队内部人员必须拥有阅读源代码、获取主流社区资源、根据自身需求架构开源技术的能力。

5 开源分布式系统技术架构的设计

参考中国电信业务系统的开源技术设计,推动IT行业对互联网的要求、日益多变的新业务需求,需要各行业熟悉掌握核心技术,拥有自己的开源团队,技术人员在做架构设计时应当做到以下几点:

5.1 分布式数据库

网络上我们看到的逻辑统一的数据库是由多个关系型数据库组成的,其特点有[2]:(1)分布式:不同数据通过切片方式储存在不同的节点上,呈分布式存储,这样会使得项目分层明显,让项目整体出现切片化的清晰感,增加整体的层次性,一般情况下这种分布式是属于节点分布、数据切片的呈现方式。(2)扩展性:服务器集群形式存在可以使节点完成在线增加或减少,以完成不同项目的需求,这样在不考虑整体系统的运行速度的情况下可以实现在原有系统的基础上不断的迭代延展。(3)结构化:存储数据时,以表、列、行的形式展现,这样数据的呈现会更加清晰明了,对于数据分析更加了解,但是这种分布的方式会给系统造成一定的负担。(4)高可用:当系统内出现不可被信任的节点时,开源技术可以实现在线切换达到目的,这样就会避免出现一个不可用的節点而导致项目整体的进度全部瘫痪,从而实现备选系统高可用的状态。(5)一致性:处理数据结果最终一致,但是在系统运行中数据的更新和同步是需要更新提升的问题。(6)磁盘存储:磁盘存储可以使数据更加持久保存,且保存效果较其他方式更加完整;但是和其他的存储方式相比没有优势,会加重磁盘的负重,降低系统的运行速度。(7)冗余性:一主多从,在线切换主从动态,实现读与写分离,这样可以使项目和数据的运行更加清晰明了,分层更加明显有结构化有序。

5.2 分布式缓存

针对内存的Key-Value结构分布式高速缓冲,开源技术存在分布式、扩展性、一致性、冗余性等特点外,存在以下特点[3]:(1)Key-Value:存取以键值对的形式,适合主键进行查询,不能进行复杂条件的查询,基于一主多从的结构性,这样的主键查询有一定的滞后性,再次提升可能会加重系统的运行负重。(2)内存存储:加载数据是来源于文件或者数据库,以内存形式存储数据。(3)读多写少:通过外部读取数据,内外部的写入均支持,这样的形式在一定程度上就可以规避数据同步的滞后性,对数据进行及时的优化和迭代。(4)低延时:使用开源技术比自然状态下延长一段毫秒级时间,因为系统整体的复杂性,可能数据节点比较多,导致原来的机身速度降低,这是正常现象。

5.3 分布式文件系统

对于开源技术的文件系统,存在分布式、扩展性、磁盘存储、冗余性的特点,不同的是:(1)磁盘存储:该系统文件直接存入开源分布式系统,与普通系统读写特性一致,是采用磁盘储存的方式去进行分布式文件系统的,这样的存储方式虽然有一定的滞后性,但是简单直白。(2)冗余性:开源技术可实现跨主机、跨机房、跨磁盘、跨机架的多副本操作,这样可以避免很多的问题出现,可以实现跨越式的运行和联动,但是同时也会加重系统的复杂性和运行程度。

5.4 分布式内存数据

开源分布式技术存储数据除了存在分布式、扩展性、结构化、低延时的特点外,还存在高并发的特点,即在解决高并发问题时,系统会使用连接池或者共享的方式进行解决,这样降低了系统自身的局限性,避免出现高并发问题时整体的瘫痪。在进行该系统设计时必须满足以上几点,这样使得开源式分布架构满足基本需求的同时得到优化,才能解决传统模式的缺点,同时能够满足当前业务激增的需求。

6 结语

随着开源分布式的系统技术架构发展和完善,且其存在使用方便、极易上手、高效处理等多种优势,已然成为各行业处理数据的必备技术。该技术去除了驳杂的技术细节,弥补了传统单点模式技术的极多缺点,大幅提升处理速度,应用价值极高。现在越来越多的行业需要业务和资源的整合,传统行业也在飞速实现业务的转变。因此,使用开源分布式的系统技术架构将是未来发展的主要趋势,且能够为各行业发展提供坚实的技术支持,将来一定是实现业务增量的黄金突破口。

参考文献

[1] 郑海雁,金农,季聪,等.电力用户用电数据分析技术及典型场景应用[J].电网技术,2015(11):3147-3152.

[2] 廖慧,李娜,王蓉.大数据时代下电信运营商应用模式研究[J].电信技术,2016(3):8-12.

[3] 沈艳,分布式测试系统协作理论及其通信平台实时性研究[D].成都:电子科技大学,2004.