继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

实用的商城系统产品架构

拉丁的传说
关注TA
已关注
手记 448
粉丝 126
获赞 788

一.介绍

一.介绍
现在的信息时代,交易都在互联网化, 电子商务场景需要一套稳定灵活的系统支撑,那一套稳定灵活的电子商务系统应至少具备如下这些基础能力
多终端支撑能力
统一支付能力
统一订单能力
统一商品管理能力
统一多渠道管理能力
快速营销落地能力
统一信息分析能力
系统功能扩展能力
Mob-ShopSDK依托于此,为用户提供APP+WEB后台管理一站式的电子商务系统解决方案,提供“开箱即用”的强大功能,帮助开发者减少大量的开发工作,为用户提供优质的互联网产品和服务。
二.ShopSDK 应用架构

图片描述
架构图分为五个部分:接口模块、基础支撑模块、数据模块、第三方支持模块,监控模块。
核心-基础支撑模块,是按照商品的业务流转进行划分,构建不同的组件服务,相互间不同规则的串联运行支撑电商服务的运转.
核心-组件服务:
(1)商品中心:主要管理SKU( 最小库存单位)、SPU(标准化产品单元)、属性(关键属性、非关键属性、销售属性)、类目品牌、价格等有关商品的数据。
(2)订单中心:管理订单类型、订单状态,收集关于商品、优惠、用户、收货信息、支付信息等一系列的订单实时数据,进行库存更新、订单下发等一系列动作。
(3)支付中心:已集成Mob-PaySDK服务,记录支付信息(对应订单号、支付金额等),支付对账,用户无需因支付功能进行二次开发.同时已开放接口。用户可以根据自己的需求, 选择适合自己的支付方式.
(4)促销中心:主要管理活动相关,优惠券、满减、专场活动、促销等。促销工具的开发对电商尤其重要。ShopSDK通过商品-标签,优惠券-标签关系设定,根据标签实现针对于商品级别组合优惠活动.
(5)评价中心:管理商品评价和用户反馈,进行回复内容管理,实现针对于敏感内容的过滤。
(6)运营中心:提供订单、销量相关日,周,月不同时间维度报表统计以及下载,方便用户了解运营情况,及时调整运营策略.后期会提供更细粒度,更多维度的运营数据统计,更好的协助用户.
以下为Mob-ShopSDK主业务流程图:

图片描述
三.模块设计
以商品模块为例:
模块介绍:
商品模块是一个展示商品基本信息、库存等详情的系统,是商品购买的入口,也是电商系统的入口。在访问量上它是电商平台中访问量最大的系统之一,在业务上它与周边系统的关系是高耦合,这就对系统设计提出更多的要求。
业务特点:
重点在于数据展示页面信息丰富,如:商品详情、商家列表等.
部分数据时效要求高,如:价格、库存等
访问频率高.
设计:
商品模块在设计上分成SDK-INNER二层结构:
SDK端:负责业务逻辑处理,提供数据给前台,同时还会对外部系统提供服务,针对于访问频率高的查询接口,基于elasticsearch进行查询操作,降低DB压力,通过队列事务机制实现不同数据源之间的数据同步。
INNER端:负责主数据管理,做为数据管理层处理商品主数据、参数、品牌、供应商等,同时部分内容开放给运营进行维护、管理和异常处理等。(这次篇幅有限,简单介绍下SHOP-SDK商品模块的设计,后期会陆续分享shop-sdk其他模块的设计)
四. ShopSdk架构分析
1、应用部署
对于电商而言,领域有用户、商品、订单、评论、支付业务等等,不同的领域提供不同的服务,为了提高模块服务的可用性,一个模块部署在多个节点做冗余,并自动进行负载转发和失效转移;
2、搜索
Shop-SDK商品搜索引擎基于分布式实时引擎elasticsearch(ES)。ES构建在开源社区最稳定成熟的索引库lucence上,支持多用户租用,高可用,可水平扩展;并有自动容错和自动伸缩的机制,并且同时实现es与mysql无缝集成.数据实时同步.
3、存储
A. 数据库:
1)数据库用Mysql,采用双主模式,注意:主从不在同一个物理机上。主从结构保证在主库出现故障比如宕机自动切换到从库。通过LVS做负载均衡做到高可用,提高吞吐量
2)基于Mycat组件实现多租户管理,动态创建数据库实例,通过数据库级别的隔离机制保证用户的数据隔离,同时支持横向扩展.后期将支持分表,分区操作. 为应用提供更强壮的数据库服务
B. redis存储:
1)应用层逻辑优先从Reids中获取业务数据,如果Redis中没有,再从DB中获取
2)通过自定义虚拟过期时间以及锁机制解决Redis缓存过期产生的惊群现象
4. 监控:
1)通过自定义dubbo微服务监控中心, 监控服务端服务和客户端调用情况,调用次数,调用日志,方便问题查找.并提供邮件告警功能.保证服务的高可用
(本文只针对于部署,监控,存储方面进行了简单介绍,后期会针对于各个模块进行深入分析)
五.结语
阿里把11.11从光棍节变成狂欢节,到2017年双11达成1682亿的成交额。这体现出了电商的巨大市场需求,也为电商从业者带来了新的机遇和新的挑战。电商系统的复杂性使其中的每一个细节都可以拿出来仔细探究,ShopSDK将致力于为开发者/客户提供“开箱即用”的强大功能, 轻轻松松即可完成一个B2C电子商务的搭建和部署。

原文链接:http://www.apkbus.com/blog-944804-77157.html

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP