回顾篇

电商玩法

传统电商:淘宝,京东
拼团电商:拼多多
信任电商:快手
兴趣电商:抖音,快手
内容电商:小红书
品牌电商:小米,华为,apple

app性质不同,决定电商玩法不同

介绍下仓储

WMS系统属于电商后台系统的服务末端,同时也相对独立,也可服务于有自有仓库管理需要的用户;
电商系统中,通过WMS系统实时同步仓库货物的变化,与ERP系统,采购系统、订单调度系统同步更新库存。


库存认知

了解下技术背景

服务端演进过程
https://segmentfault.com/a/1190000018626163

演进方向
单体->分布式->soa->微服务->上云
https://blog.csdn.net/fujuacm/article/details/123333564

业务特点

数据量大
以订单表为例,量级随时间积累,轻松达到千万级
解决方案:降低单表压力,数据归档、分表

并发高
并发的瓶颈,数据库压力,服务器压力
降低数据库压力:缓存,分库,读写分离,es
服务器压力:模块细分,服务负载均衡(单机->微服务)

关注点

1可用性,稳定性
2数据准确性,一致性
3性能

简单来说我们要做的:
响应要快,服务要稳,数据要准

订单架构
订单架构

技术难点

分库分表

分库分表key策略(电商订单的分库分表是怎么做的)

拆分买家库与卖家库,卖家库数据走数据同步链路
卖家库userId作为key,分库分表规则为user%64;
卖家库shopId作为key,分库分表规则为shopId%64
订单号隐含业务值,如订单号规则为yyyymmdd+6位随机数+userId%64+2位随机数+shopId%64+00+自增id

全局唯一ID,跨库,聚合,join等问题

历史单处理难点
1.架构老旧,接口多,所有数据查询需添加分库字段
2.业务不可暂停(全量+增量)
3.数据量大
4.可监控、可灰度、可回滚(双写,双写一致性check+订正,稳定后切流)
5.迁移工具canal(binlog+rocketmq)

缓存
缓存选择
本地缓存--通知机制怎么玩
多级缓存玩法--进程缓存
分布式缓存,双写一致性:https://mp.weixin.qq.com/s/gvumWIkz8oIo6DklFPxwzQ
数据冷热分离,热备
分布式锁,主从架构带来的安全问题,Redlock思想

方案复杂
与2b业务不同的是,2b业务本身逻辑较为复杂,而2c由于涉及的服务更多,所以会更关注各个服务之间的,调用方式(同步异步),数据流转,状态机流转,对应的回滚机制,补偿机制等等;
(如下单,会涉及到商品服务,库存服务,营销服务,购物车服务,订单服务,用户中心服务,支付服务等等)

分布式事务
https://www.jianshu.com/p/e0c2f9e58f55

高并发秒杀
https://www.jianshu.com/p/3331f0830ae2

小结

业务最终走向:数据准确性与一致性

你可能感兴趣的:(回顾篇)