一,概述
2020面对突然快速变化的市场环境,食行生鲜原有的系统架构已经不能满足业务快速增长要求,
面对复杂的业务环境,需开发一套可扩展,高并发和高可用的生鲜电商系统.
因此,借鉴阿里巴巴大中台思想,研发中心需要重构一套生鲜电商中台业务系统,以满足高可用,高并发,高一致性,高性能和高可拓展的要求.
二,整体业务流程
如下是C端用户食行生鲜电商核心业务流程(非核心流程未列出):
三,业务架构
如下是电商整体业务架构设计:
主要包括几大中台:
- 小前台
小前台主要指和用户衔接比较紧密的业务场景,主要包括
- ToC
包括自营app(安卓/ios),H5页面.
- ToB
自营app和sdk.
- 渠道
包括支付宝小程序,微信小程序等.
- 线下店
社区生鲜店,目前只覆盖苏州市场.
2,业务中台
业务中台主要提供电商场景下的公共能力,比如支付,下单等,核心包括如下领域:
- 用户域
- 活动域
- 商品域
- 商户域
- 支付域
- 交易域
- 供应链域
- 评价域
3,技术中台
技术中台主要提供业务中台公共的能力,比如流水线发布,灰度和服务治理等,核心能力包括如下
- 网关
- 服务治理
- 日志
- 监控和告警
- 链路追踪
- devops
4,数据中台
数据中台主要基于海量数据,提供精准智能推荐,用户画像.目前核心能力包括:
- 智能推荐
- 用户画像
5,基础设施层
基础设施层主要提供系统主机,公共中间件和容器化得组件,核心包括:
- 容器编排
- 数据库存储介质
- 消息队列介质
- 缓存介质
- 倒排索引查询介质
业务架构的设计原则:
A,将业务-平台化
- 业务平台化,相互独立
- 基础业务下沉,可复用
B,核心业务和非核心业务分离
C,隔离不同类型的业务
- 交易平台需保证高可用
- 履约平台需保证一致性
- 秒杀平台保证高并发
D,区分主流程和辅助流程
- 主流程高可用
- 辅助流程可异步化
四,应用架构
如下是电商整体应用架构设计:
业务中台核心应用领域
用户域
会员中心服务于用户的消费全生命周期,为用户提供特定的权益和服务,企业可以通过会员中心进与用户进行互动,培养用户忠诚度。主要能力包括:
会员运营管理:会员注册、个人信息维护、会员注销、会员卡办理等相关能力。
会员体系管理:会员体系的创建、积分规则、成长值规则、等级、权益等相关能力。
客户服务管理:包括客户的新增、导入、查询等相关能力。
积分交易管理:包括积分获取、核销、清零、冻结、兑换等相关能力。
商品域
商品中心提供管理商品核心数据的能力。围绕商品构建商品关联数据,诸如商品版本信息、商品品牌、商品属性、商品类目等。主要能力有:
品牌、类目、属性管理:包括对商品品牌的维护、查询,前后端类目的维护,属性及属性组管理等相关能力。
产品数据管理:包括对产品模板的创建、编辑、查询、禁用等相关能力。
商品数据管理:包括创建商品、修改商品、查询商品等相关能力。
商品发布管理:包括商品发布、上下架(即时+定时)等相关能力。
供应链域
库存中心提供仓库、库存、货品、单据(入库单/出库单/盘点单/盘点盈亏单)、审核(调拨/盘点),包裹、货品运费、物流运输、接入第三方物流公司的服务能力。主要能力包括:
仓库管理:包括服务区、仓库、仓位及其关联管理等相关能力。
货品管理:包括货品进货入库、销售出库、调拨入库、调拨出库、调拨审核等相关能力。
货品盘点:包括盘点单生成、审核、查询等相关能力。
履约管理:包括库存检查、发货单创建及查询、包裹物流查询、运费管理、物流状态跟踪等相关能力。
交易域
交易中心负责企业业务交易订单的整体生命周期管理,包括加入购物车车→订单生成→合并分拆→流转→支付→发货→退换货→完成。所有电商业务的核心系统都是围绕交易订单进行构建的。主要能力包括:
购物车管理:包括购物车商品添加、编辑、查询、校验等相关能力。
正向交易管理:包括交易订单生成、发起支付交易订单、商品发货管理、上门自提及核销等相关能力。
逆向交易管理:包括商品换货、退货、退款等相关能力。
订单数据管理:包括交易订单数据、支付记录、发货记录、换货记录、退款记录等数据管理能力。
交易流程编排:支持交易流程节点的配置化,便于根据业务场景的不同设置与之匹配的流程。
支付域
支付中心给下游商户输出标准的支付服务,提供代付代收、财务对账等服务。通过对接多个主流渠道,稳定输出微信、支付宝、银联等支付能力。主要能力包括:
支付能力:包括创建支付订单、接收渠道通知、渠道订单查询等基本支付能力。
支付路由:包括支付渠道管理、支付方式管理、支付商户和应用开通管理等相关能力。
资金账户:包括资金账户管理、充值维护、提现等相关能力。
活动域
营销中心提供商家的活动计划、申报、审批、执行、核销的全链路管理,也提供了基本的促销能力,如优惠券活动、满减买赠等。主要能力包括:
活动模板管理:包括营销活动的策略模板、规则配置、条件、动作模板等相关能力。
活动管理:包括具体活动的基本信息配置、人群圈选、商品管理、触发条件等相关能力。
优惠券管理:包括优惠券的发放、领取、查询、使用核销等相关能力。
赠品管理:对于满赠、买赠活动,提供赠品维护、查询、启用、禁用等相关能力。
商铺域
店铺中心提供企业店铺主体管理、店铺管理、类型管理、经营对象管理等能力以支持企业为其商户用户提供线上门店,同时也支持商户管理、店铺会员、店铺会员等级管理、店铺装修等。主要能力包括:
商户管理:包括商户单个、批量开通,商户审核,商户基本信息维护等相关能力。
店铺管理:包括店铺开通、店铺基本信息维护、店铺审核、店铺会员等相关能力。
五,技术架构
技术架构设计规则如下:
A,服务无状态
B,服务可复用
C,松耦合
- 跨业务领域调用,尽可能异步解耦
- 同步调用设置超时时间
- 相对稳定的服务和逻辑易变的服务分离
D,服务可治理
E,基础服务
六,数据架构
一个典型的数据架构如下:
设计常见的数据架构应遵循如下原则:
A,统一数据库视图,保证数据的及时性,一致性,准确性和完整性.
B,数据和应用分离
- 应用系统只依赖逻辑数据库
- 应用系统不直接访问其他应用的数据库,而是通过接口进行访问.
C,数据库做读写分离
- 将访问量大的数据库做读写分离
- 将数据量大的数据库做分库分表
- 按照业务维度进行数据库拆分
- 对重要的数据库做冗余备份
D,合理采用Nosql,进行关系型数据库的补充.
- Elasticsearch:偏向于检索、查询、数据分析,适用于OLAP( 数据分析,响应速度要求没那么高 )系统
- Mongodb:偏向于大数据规模下的CRUD,适用于对事务要求不强的OLTP( 内存效率,实时性比较高 )系统。
- Redis:k/v存储,适合mysql数据容灾.
七,技术架构的核心要素
高性能
高可用
高伸缩
高扩展
高安全