商城架构
- 社区app中的:app中嵌入的电商,采用h5; 意图将app的用户转化为电商客户
系统架构
- 全面采用,阿里云mysql,主机都部署在阿里云上面
- mysql 主从结构,erp的数据来源于从库
- 架构分布式,因为用户量比较大,dubbo作为服务化框架
- 订单原子服务,交易中心,商城mall,商城cms系统,erp系统
- 逐步拆分原则;购物车服务,优惠券服务等
- 服务有原子服务,核心服务等,还有公司的公共组件建设
商城系统架构图
架构划分
- mall web是对用户端的 商城:包括 商品信息,地址信息,优惠券,广告位,购物车等操作
- trade web是 交易系统: 包括用户的 支付交易
- order服务 是 订单服务对订单的原子服务都在放到order服务中
- mall cms就是 对商城的商品,优惠券等管理
- 任务系统:定时任务的相关业务
- 主要使用msql主从,redis缓存,kafak和ons的消息队列,全部部署在阿里云上
交易中心 流程分析
- 在确认订单页面,客户端发起支付的时候,生成订单,状态为待付款
- 从购物车中将取出所有产品,计算后(优惠券,直减等)生成订单
- 购物车的没有独立成服务,简单的放在 redis中
- 计算 看购物车的 商品是否还有,是否限购等(规则),否则跳转到购物车详情页面
- 调用订单服务,生成订单,第三方回调后修改支付信息和订单状态,完成拆单
和erp系统的对接
- erp系统的上游数据 直接来源商城数据的从库
- erp系统的采购,入库,发货,物流等
- 库存方面 共享redis可以解决
思考
- 随着业务的反正,订单量的快速增长,这架构是满足不了发展的
- 服务,部署耗费大量时间,因为没有运维...
- 服务分级:web对外的无状态水平扩展,核心服务,原子服务等,灰度发布, 自动扩容等
- 服务划分: 后期应该 抽象出: 优惠券服务 , 购物车服务等
- 基本可以满足一定规模的