搜索
您的当前位置:首页正文

一种大型B2C电商系统架构重构方案

来源:爱够旅游网
・204・ 信息技术 一种大型B2C电商系统架构重构方案 饶兰兰,肖杰伟z (1、广东外语外贸大学思科信息学院,广东广州510006 2、中兴通信股份有限公司,广东深圳518000) 摘要:随着互联网技术的高速发展,网购用户数量的急剧攀升,给大型B2C电商系统带来机遇的同时,也对现有系统架构产生极大 的挑战。本文分析了目前系统中可能存在的系统架构问题,结合当前的实际情况,给出了一系列的系统架构重构方法。本文对现有大型 B2C电商系统架构的重构有一定的参考价值。 关键词:B2C电商系统;重构;架构 存技术、广泛采用负载均衡和镜像技术(CDN)、广泛采用分布式技 尽可能多地采用自动化技术r7】。主要的架构实践包括:业务服务 近年来,随着互联网技术高速发展,网络接人手段的多样化,移 术、动终端的大众化,使得网购的网民数量急剧攀升,各大电商系统的 化(SOA)、分层处理和分而治之、服务分布式化、规范化和自动化。 PV,Uv也在屡创新高。用户对系统的反应速度和用户体验有了越来 3.1应用架构 在应用架构上主要按照模块专业化和功能资源化的思路进行。 越高的要求。这些都对传统的电商系统架构提出了挑战,尤其是移 动互联网时代的来临,使得对于系统架构有了更高的需求。大型 模块专业化,即:对各模块重新定位,明确分工,建立功能中心;模块 间高内聚低耦合。功能资源化,即重要功能及接口,以服务资源方式 B2C电商系统的架构重构已成为刻不容缓的任务㈣。 2现有B2C电商系统可能存在的主要问题 提供。根据电商的业务特点及软件系统的高内聚低耦合原则,将总  下面将从应用、技术、数据和基础架构等方面分析传统大型 体业务功能按门户域、管理域、支撑域等,在支撑域建设用户中心、商品中心、交易中心等服务中心。 B2C电商系统架构可能存在的问题: 采取的主要措施是按照业务功能域对系统的模块进行重构。对 2.1应用架构 传统的电商各个业务子系统主要采用烟囱式建设,各个子系统 各模块重新定位,明确分工,将系统总体业务功能架构整合为门户 相对独立,在业务发展和系统建设前期,按需而建,缺乏整体规划和 域、运营管理域、支撑域等。门户域提供多种形式的功能门户,同时 前瞻性考虑。系统内部紧密耦合,不同系统间高度聚合,系统和功能 提供全局搜索功能。运营管理域建设商品管理系统、客服系统和供 较难扩展。主要问题包括:功能耦合度较高,模块过多,功能层次不 应链系统,对营销活动和货架运营提供可按需灵活定价的各类商 清晰;业务管控能力弱,非核心业务流与核心业务流边界不清晰,难 品,同时提供客服、订单监控、商家结算和促销管理等。支撑域中集 以管控;各个业务子系统比较封闭,难以满足新业务快速上线和业 中建设用户中心、商品中心、交易中心等三大功能中心,适时建设大 数据中心,业务功能边界更清晰,从而可更好扩展以支撑业务的发 务快速迭代的要求。 2.2技术架构 展。 传统的电商主要采用LAMP技术架构体系。主要问题包括:接 3.2技术架构 口扩展性不高,系统接口数量较多,接口标准化、集成化程度不高, 在技术架构上按照架构设计分层结构的思想,B2C电商系统分 重用性不强;某些业务系统依赖专用设备;缺乏统一的技术体系和 为接入层、业务层、数据层。 接人层是系统与外部进行数据交换的平台,包括门户和接人系 标准规范,造成各个业务子系统“自成一体”;部分系统无法进行水 平扩展,造成系统扩容升级困难。 统,对于系统使用者,提供多种接人方式。业务层是系统业务逻辑的 2.3数据架构 处理平台,通过对数据访问框架的调用访问业务数据,实现不同的 主要采用集中式部署的方案,数据库采用Oracle、MySQLt3]等。 功能模块,满足不同的业务需求。业务层由若干业务流程组成,通过 主要问题包括:数据库设计烟囱化,效率较低;数据设计和业务系统 调用业务组件,为接人层提供业务服务,实现业务逻辑的共享,完成 紧密耦合;存在数据孤岛,数据难以共通共融;数据存储方式单一; 相应的业务功能。 数据缓存技术未能有效利用;尚未搭建完善的大数据分析和处理平 业务层的分布式服务框架采用SOA,以服务的方式对接入层提 台;针对不同数据库、缓存系统、NoSQL等,缺乏统一有效的中间件 供访问接口,同时屏蔽业务层及数据层的处理细节。 产品。 数据层是系统对业务数据进行统一组织、集中管理的平台,它 2.4基础架构 通过数据访问框架为业务层提供规范、高效的数据服务,实现业务 目前部分电商系统采用单点部署,且业务系统不支持多点部 数据的充分共享。数据层的数据访问框架采用统一的数据访问,对 署;整体基础设施,缺乏统一的长远规划。主要问题包括:不支持多 业务层屏蔽底层数据访问差异。 点部署,系统缺乏灾备/容灾;在硬件基础设施,小机、刀片服务器 采取的主要措施包括:(1)通信层TCP长连接。系统在处理一个 和PC服务器独立使用,部分业务依赖特定的硬件设备;在数据存储 用户请求过程中,通常会向内部多个系统进行请求交互,内部子系 层,业务策略的不同需要采用不同的存储策略,例如:分布式文件存 统之间业务请求的交互多数都是通过H1TrP短连接方式,当用户并 储、分布式对象存储、NoSQL数据存储、集中块存储、脱机备份存储 发请求量比较大时,会消耗大量的资源,因此部分考虑修改为TCP 等特点的不同,需要选择最佳的存储策略;没有形成公共组件产品、 长连接的方式。 产品无法复用、缺乏整体质量管控、缺乏有效的监控和架构治理方 (2)异步通信技术。使用异步通讯模块,实现消息的接收、存储、 案。 发送,降低各应用模块之间的耦合度,同时可以对异步通讯机制进 3系统架构重构方案 行管理,并实现高可用、高性能,提高系统的吞吐能力。 针对上述问题,目前已有较多的架构优化方案 ,本文主要从 (3)SOA。在系统架构设计中,可以结合SOA参考架构,进行服 重构的角度解决存在的问题。架构重构主要针对目前架构存在的问 务模块化设计,实现系统模块之间的松耦合和统一技术规范体系, 题,结合业务需求,兼用成熟的技术演进路线的思路进行。在重构 增强系统的架构先进性和灵活性。 中,采用的架构原则如下:具备可扩展性、具备高可用性、减少访问 (4)服务原子化。结合业务需求和粒度,系统的基础服务采用原 延迟、具备良好的可管理性、充分考虑成本、用户体验至上。采用的 子化方式,以增强业务服务的灵活性。 架构策略是:广泛采用模块化技术、广泛采用异步传输、广泛采用缓 (5)引入规则引擎增加个性化服务。规则引擎可以从应用程序 1概述 作者简介:饶兰 ̄(1978一),女,湖北人,硕士,广东外语外贸大学思科信息学院讲师,研究方向:模型分析与设计。 信息技术 ・205・ 中分离出业务规则,业务规则可以单独变化而不需要修改程序代 络访问条件的用户“就近、就快”接入,提升用户体验,提升系统稳定 码,即适用于业务规则较多、且变化比较频繁的场景,例如:会员积 性、可靠性,提高平台总体并发负载能力,并可以按需水平扩容。 分规则;商品关联度分析等。 (2)缓存。在基础设施层,应该充分利用各种不同的缓存技术, (6)引入内存数据库。针对物理内存而优化的内存数据库,可以 提高系统的响应速度。 获得极高的响应速度并实现实时数据缓存。引入并合理使用内存数 (3)虚拟化。鉴于系统中存在各种各样的硬件设备,在基础架构 据库中间件,系统缓存的覆盖率和缓存的稳定性会有明显提升。 建设统一的资源池,按需对上层业务提供服务。 (7)超高并发访问旁路结构改造。电商系统部分超高并发访问, (4)存储。不同的存储在性价比、性能等存在较大差异,同时系 例如:秒杀活动,对系统负载会产生致命的影响。对于这种超高并发 统的不同数据在稳定性、可靠性、安全性、10要求、数据量等要求各 访问,可以从活动访问入口把请求旁路到独立的设备上,由独立的 不相同,针对不同的数据类型选择最佳的存储方案。 设备承载用户请求,避免影响主访问流程。 (5)公共服务组件化和框架化。针对系统常用的服务,建设公共 (8)其它。例如:动静分离、冷热分离、各种缓存、CDN技术、负 的基础服务组件。例如:针对系统各种不同的数据库访问要求,封装 载均衡、页面优化等。 为公共的数据访问中间件;针对分布式缓存调用,封装为数据缓存 3.3数据架构 中间件等。其它常见的组件还包括:分布式业务流中间件、服务调用 结合系统的应用架构体系,数据重构对目前的数据进行解耦, 框架中间件、分布式消息队列中间件、调度协调框架等。 并结合重构原则,统一商品数据模型,按照中心化和服务化建设若 (6)质量保障体系。在质量保障上,建设统一的质量和风险控制 干数据中心,适应业务的多点部署。数据架构按照如下原则进行:唯 技术、标准、方案等,例如:风控系统、统一监控、统一自动化部署、灰 归属原则;共享数据原则;数据访问原则;单向同步原则;边界实 度发布、安全审计系统等。 体归属原则和数据分离原则。重构思路是:物理架构和逻辑架构上, (7)架构治理。架构治理是一个由关系和过程所组成的机制,用 统一商品数据模型;降低内部数据耦合度;用户数据和商品数据的 于指导和控制企业,通过平衡信息技术与过程的风险、增加价值来 分离;建设商品中心、用户中心、交易中心等。在部署方式上,建立高 确保实现企业的目标。通过这种机制和架构,方案的决策、实施、服 效的数据库并发能力扩展机制,包括多站点方案和数据读写分离。 务、监督等流程,系统的各类资源、信息与企业战略和目标紧密地关 针对商品数据进行数据读写分离,实现部分按需水平扩展。在存储 联在一起。 方式上:针对部分数据(例如:用户数据)进行分片、在线和历史数据 (8)大数据基础平台。针对电商系统,应该充分利用系统的大数 的分离;差异化存储策略,引入NoSQL数据库。 据,实现系统的增值。对于大数据基础平台,需要从数据采集、数据 重构中采取的主要措施包括: 存储、数据分析、数据展示等统一进行规划和建设,以便更好的支撑  (1)核心数据解耦和中心化。目前B2C电商系统的核心数据主 系统的运营。结束语 要包括4部分:商品数据、用户数据、交易数据和OLAP数据。重构 目标是将系统的核心数据和非核心数据进行解耦。针对核心数据建 本文分析了现有大型B2C电商系统架构可能存在的问题,并提 设统一数据中心,对整个业务系统提供统一服务(DBaaS)。 出了相应的系统架构重构方法。对于这些方法的使用要从系统实际 (2)统一商品数据模型。商品数据是系统的核心和基础。商品数 情况出发,找出系统架构的关键问题,并采用相应的重构方案。总 据模型主要针对系统的商品数据进行统一数据模型,思路是各个相 之,不要盲目对系统进行重构,在重构前需要先分析现在的架构体 关业务子系统采用统一的商品数据模型,减少中间不必要的转换, 系存在的问题,并进行科学的评估和分析,事后进行不断的跟踪、分 一提高效率。 析和优化,整个过程要以用户体验为核心。 (3)读写分离。商品数据具有典型的写少读多特点,商品基本信 参考文献 息数据和用户无关,商品数据的属性相对比较稳定。因此,对于商品 【1】崔英志,张绪玉,高博.Web2.0时代的网站架构【J】.重庆工学院学报, 数据比较适合读写分离。 2008(5):109-111. (4)数据多站点。为了适应应用架构的多站点,数据架构针对多 [2】李云强,赵东江.BZC电子商务网站架构研究fJ].网络与信息,2007 站点进行重构。 (9):61. (5)数据sharding和在线、历史分离。Sharding方案的精髓,是将 [3]Baron Schwaaz.High Pefrormance MySQL Second Edition f 大数据分布到多个物理节点上,业务系统中依靠路由服务器进行查 【M].Sebastopol:The O'Reilly Presa,2008. 询路由,导航到特定shards节点上去执行数据读写任务。B2C电商 【4]杜华,王锁柱.网站结构优化模型及算法分析fJ1.计算机工程与设 系统的用户及相关数据,非常适合使用sharding。系统用户相关数 计。2008(21):5591—5594. 据,可以按用户为索引分库,提升并发能力。针对部分数据(例如:订 [5】易明,杨斌.站点结构优化方法研究综述[J].现代图书情报技术, 单历史数据),可以进行冷热分离,以及在线和历史数据的分离。 2008(7):61-65. 61奚冬芹,林文龙,竺炯林.基于隐马尔可夫模型的电子商务网站结 (6)NoSQL和差异化存储。鉴于NoSQL对数据库高并发读写, 『对海量数据的高效率存储和访问,对数据库的高可扩展性和高可用 构优化『J1.计算机应用研究,2008:947—948. 性的特点,针对部分场景可以引入NoSQL(例如:缓存系统引入Re— f71李艳生,汪自云.一种实用的海量Web系统架构设计研究与实现 dis)。差异化存储策略,是指针对不同特性的业务数据,采用不同的 fN1.湖北师范学院学报,2009,29(4). 存储方式。针对部分高10的业务,使用频率划分数据种类,在保证 数据能够被正常访问的前提下,将热门的数据放到高效的存储介质 中,以获得较高的10效率。 3.4基础架构 基础架构的思路是:在部署上采用多点部署;硬件资源采用虚 拟化技术,对业务层屏蔽底层硬件的差异性;针对不同的数据存储 需求,采用不同的数据存储和处理策略;建设统一的系统集成框架; 并对系统进行全方位的质量跟踪和控制;针对大数据搭建大数据基 础分析和处理平台;架构治理等。 采取的主要措施包括:(1)多点部署。在满足系统连续性、持续 性和稳定性要求的前提下,基于可靠的业务数据分发和同步机制, 实现分区域、分用户群的多点分布式部署,实现对不同区域、不同网 

因篇幅问题不能全部显示,请点此查看更多更全内容

Top