面向电商应用的分布式环境系统架构设计

时间:2022-04-24 07:11:57

面向电商应用的分布式环境系统架构设计

随着电子商务平台的不断发展与进步,基于分布式环境实现面向电商应用的系统平台设计变得更加重要。本文针对具有电商类业务应用特点的分布式架构平台进行分析,对其系统体系架构、资源分配调度、云端资源的虚拟化与配置等设计规划问题进行了研究。

【关键词】电商应用 分布式 系统架构 虚拟化 规划设计

1 系统设计原则与目标分析

分布式计算系统的研究一直是计算机技术领域的一个研究热点,随着云计算、虚拟化、物联网等应用的推广普及,分布式计算的理论研究也越来越受到研究者的重视。研究分布式计算的数学基础和理论,揭示与分析分布式系统的底层问题(资源调度、分配、通信、协调、同步及不确定等),研究基本的算法概念与实现技术变得非常重要。

随着淘宝、京东等电子商务平台的网络购物应用的快速发展,使得传统的网络服务模式从CS架构向着分布式平台架构演进。本文针对具有电商类业务应用特点的分布式架构平台进行分析,提出一种面向电商应用的分布式环境系统架构,以适应快速发展的电子商务应用。

2 电商应用的平台技术分析

淘宝、京东等电子商务平台,以及12306铁路订票系统等网站,其本质上是一种分布式请求应用,其应用的特点不同于网络搜索类应用。这类请求通常情况下是数据的实时检索,而相对应的网络搜索引擎的检索结果通常是通过蜘蛛程序预前爬取到的静态搜索结果。这类电子商务类应用,往往需要与电子商务的支付平台相连接,其连接需要通过加密的、经过安全认证的网络连接保证可靠性,可以把该类应用统称为“电商应用”。这类应用的数据库系统并不像搜索类业务复杂,但是其数据并发及数据间的协同互锁问题更重要,安全性、容错性和并行读写的问题更突出。在电子商务平台有类似优惠促销活动时,或网络购票系统定时开放票源的时候,表现出来的大数据量并发访问,会对系统架构造成较大的冲击。

本文针对具有电商类业务应用特点的分布式架构开展研究,对其分布式系统的体系架构、资源的分配调度、云端资源的虚拟化调度与配置等问题展开分析。

2.1 技术对比

在现有的分布式技术的理论研究和分析中,对底层资源的分配和调度处理多采用不同的技术手段。并行计算技术的实现通常是一台计算机,配备有多处理机,多处理机之间进行合作协同计算,最终结果由一台计算机来处理。分布式计算技术是多网的计算机,有各自的主机和处理器,通过网络分配共享计算任务和计算信息。云计算则是计算机通过网络发送计算命令给服务器,让服务器执行计算任务并将结果返还给发送命令的计算机。从处理对象的关系来看,并行计算是由单个计算机用户完成的,分布式计算是由多个计算机用户合作完成的,云计算是没有用户直接参与,而是交给网络另一端的服务器来完成资源的分配与调度。

2.2 平台分析

分布式环境的开放研究平台已有很多,比较有代表性的平台包括Hadoop、BOINC(Berkeley Open Infrastructure for Network Computing)、SETI@home等。其中有代表性的Hadoop架构是在借鉴Google的MapReduce框架体系的基础上发展起来的。

Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),用户可以在不了解分布式底层细节的情况下,开发分布式程序。HDFS有着高容错性的特点,并且设计用来部署在低廉的硬件上,适合那些有着超大数据集(large data set)的应用程序。但在中间处理过程中,系统复杂度较高,map/reduce处理数据时对数据的并发性、互斥性及容错性考虑不足。本文提出一种新的架构,对于分布式大数据量并行计算的解决方案不同于复杂的hadoop,中间计算结果不依赖于hdfs,使用不同于map/reduce的设计模式解决问题。

3 电商应用的系统平台设计

3.1 平台业务流程设计

电子商务解决方案通常分为直销方案和供应链集成方案。直销方案常用于商业零售,一个商业组织通过虚拟商店来招揽客户,客户通过浏览器获得想要的产品。供应链集成方案的目标是传送一个动态的数据流,以实时数据联系各地的贸易伙伴。为了实现这一目标,所有参与供应链解决方案的参加者必须采用统一的数据标准,从而实现数据的流畅和无缝传输。

电子商务应用系统提供网上交易和资金转帐等服务。根据商务规则进行用户数据处理,定单处理,信息交流,促销和广告;对商务数据存储及检索,提供目录管理,安全性管理和通信服务,提供开发组件、企业数据库等必需的工具。

普通的分布式处理应用一般是显示事先编写好的静态数据,数据变化较小,网页内容更新速度慢。如搜索引擎业务应用,其搜索结果通常是根据之前其他用户曾经提交的搜索关键词,由系统预先在后台通过蜘蛛程序的抓取,在整个互联网中获取到有用的页面数据,该数据经分类处理后保存在google的数据库系统中,新用户的搜索过程只是在系统数据库中将已建立起来的数据关系重新在web页面呈现。再比如gmail的邮箱服务,由google公司开发的gmail邮箱服务将用户的邮件保存在不同的分布式存储系统,用户的邮件内容更新较慢,数据量较小,这些特点决定了,普通的分布式处理在数据库的设计过程中并不需要过多的考虑数据的并发性、互斥性及容错性等特点。

而电子商务类网站不同于普通的分布式应用,其以商务数据处理为主,数据类型复杂,数据流入量大、数据交换频繁,因此数据库的运行效率直接影响整个电子商务系统的效率,数据的安全性也直接影响着系统的正常安全运行。

基于以上的分析,可以看到,分布式应用从早期的分布式计算任务分配、发展到分布式数据爬取、再到分布式数据的大规模并行处理,其核心体系架构针对不同的应用,表现出不同的特征。

3.2 平台架构实现

分布式系统架构设计在性能上要求:

(1)数据分布式存储。

(2)请求分布式调度。

(3)多结点分布式部署。

(4)双重备份、热切换等。

系统设计中最重要的是网络架构、分布式资源分配及模块间资源调度通信等问题。本文提出的分布式框架,提供并行计算模式,用于利用多机多核处理器的计算能力;提供分布式缓存用于使用多机内存能力;提供远程文件操作用于利用远程多机硬盘存储能力;提出完整的分布式协同和锁,用于实现多机的协作和通讯。框架提出简单易用的API接口,实现对多台计算机处理器、内存、硬盘的统一利用,从而获取较大的计算能力解决复杂问题。

设计的架构在系统设置“商”,“生产者”,“仓库”的几个核心概念。“生产者”为一个计算节点,可以部署在多个机器,它由开发者实现,计算时,“生产者”到“仓库”获取输入资源,再将计算结果放回“仓库”返回给“商”。“商”负责承包一个复杂项目的一部分,可以理解为一个分配任务和调度程序,它由开发者自己实现,开发者可以自由控制调度过程,比如按照“生产者”的数量将源数据切分成多少份,然后远程分配给“生产者”节点进行计算处理,它处理完的中间结果数据不限制保存在hdfs里,而可以自由控制保存在分布式缓存、数据库、分布式文件里。如果需要结果数据的合并,可以新建立一个“生产者”的任务分配进行完成。多个“生产者”之间进行责任链式处理。总的来说,是将大数据的复杂分布式计算,设计为一个链式的多“商”环节去处理,每个环节包括利用多台“生产者”机器进行并行计算,无论是拆分计算任务还是合并结果,都可以设计为一个单独的“生产者”环节。这样做的好处是,开发者有更大能力去深入控制并行计算的过程,去保持使用并行计算实现业务逻辑的完整性,而且对各种不同类型的并行计算场景也能灵活处理,不会因为某些特殊场景被map/reduce的框架限制,并且链式的每个环节也方便进行监控过程。

对分布式协同方面,简化树型结构,用两层结构取代;简化回调多线程等待编程模型,用更直观的容易保证业务逻辑完整性的内容变化事件以及状态轮循取代;简化临时节点和序列节点等类型,取代为在创建节点时是否指定保持心跳,心跳断掉时节点会自动删除。系统提出没有单点问题,可以有任意多个复本,它的复制不是定时而是基于内容变更复制。实现领导者选举算法,在领导者服务器当机情况下,会自动将请求切换到备份服务器上,选举出新的领导者。基于该框架可实现分布式配置信息、集群管理、故障节点检测、分布式锁、等协同功能。

对文件的处理方面,提供对集群文件的操作支持,包括:

(1)元数据访问,添加删除,按块拆分, 高性能并行读写等。

(2)对集群文件的解析支持。

(3)对整形数据的高性能读写支持。

(4)两阶段提交和事务补偿处理。

4 结束语

本文针对具有电商类业务应用特点的分布式架构平台进行分析,所设计的系统平台实现了分布式协同,用两层结构取代树型结构,用直观的保证业务逻辑完整性的内容变化事件以及状态轮循取代回调多线程等待编程模型。

参考文献

[1]张丽,刘彦良,季峰. 面向大数据的分布式系统设计关键技术研究[J].电子技术与软件工程,2014(17):210.

[2]田文洪,赵勇.云计算资源调度管理[M].北京:国防工业出版社,2011.

[3]罗红,穆德俊,邓智群等.网格计算中任务资源研究综述[J].计算机应用研究,2005,5(1):16-19.

作者单位

中国矿业大学(北京)机电与信息工程学院 北京市 100083

上一篇:数据库中多媒体数据的处理技术探析 下一篇:电力系统变压器设备中安装技术的研究