实用的商城系统产品架构-阿里云开发者社区

开发者社区> 皮皮酱ye> 正文

实用的商城系统产品架构

简介:
+关注继续查看

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

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

三.模块设计
以商品模块为例:
模块介绍:
商品模块是一个展示商品基本信息、库存等详情的系统,是商品购买的入口,也是电商系统的入口。在访问量上它是电商平台中访问量最大的系统之一,在业务上它与周边系统的关系是高耦合,这就对系统设计提出更多的要求。
业务特点:
重点在于数据展示页面信息丰富,如:商品详情、商家列表等.
部分数据时效要求高,如:价格、库存等
访问频率高.
设计:
商品模块在设计上分成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电子商务的搭建和部署。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9189 0
使用NAT网关轻松为单台云服务器设置多个公网IP
在应用中,有时会遇到用户询问如何使单台云服务器具备多个公网IP的问题。 具体如何操作呢,有了NAT网关这个也不是难题。
26704 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
2898 0
阿里云服务器ECS远程登录用户名密码查询方法
阿里云服务器ECS远程连接登录输入用户名和密码,阿里云没有默认密码,如果购买时没设置需要先重置实例密码,Windows用户名是administrator,Linux账号是root,阿小云来详细说下阿里云服务器远程登录连接用户名和密码查询方法
11116 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
8989 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
4599 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
21831 0
+关注
皮皮酱ye
一名集美貌与才华的女子
66
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载