《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 www.cnblogs.com/wintersun/p/6683957.html 「PetterLiu」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

购物车主要作用在于:

  1. 和传统卖场类似,方便用户一次选择多件商品去结算。
  2. 充当临时收藏夹的功能。
  3. 对于商家来说,购物车是向用户推销的最佳场所之一。

早期

  • ERP拆分
  • 业务服务化拆分
  • WCS拆分

购物车功能模块概况

层级设计

群集设计

云购物车从应用层 面上设计了三个—— 交互层、业务组装,基础服(横向)每一都 由一个或多集群组成

  • 交互层: 分为购物页 (加入购物车,车一去结算),结算页(车二,立即购,提交订单去 支付)
  • 业务组装层: 提供标准购物车流程 ,非提供标准购物车流程
  • 基础服务层: 外围系统数据的下发或者基本原则功能封装

云购物车从应用集群 上设计了两个—— 购物车集群、结算车集群(纵向)

  • 购物车集群 :高访问量,用户信息很敏感不可丢失(购买商品的基本)
  • 结算车集群 :购物车结算的附加信息 ,非用户敏感级(支付配置等,配置信息可以计算出来)

技术架构设计

采用分布式设计,主要能够达到以下目标:

  • 稳定可靠 (Stability), 系统必须提供7*24 的可靠服务,以满足需求的可靠服务。
  • 高性能 (High (High(High-Performance),核心系统为全站以及线下的提供服务,必须保证高性能,且在并发场景下提供可靠的服务 。
  • 虚拟化弹性控制 (Elastic) ,计算资源能够各种场景下进行平滑地伸缩以应对相应的需求,主要是利用 VM 或者 LXCLXC 等技术。例如:大促期间快捷的扩容后 等技术。
  • 无单点故障 (No -Single Single Single-Point Of Failure),保证系统在任何环节都不存单点故障。
  • 故障屏蔽自动化 (Fault Masking ),在遇到网络、 应用业务DB 等各种故障的情等各种故障的情况下,能够做到故障屏蔽的自动化、人性。

三段缓存

异步检查

存储异构

  • 优:流程简单
  • 缺:流量冲击,高并发事务

购物车支付方案

购物车支付中台的异构方案

Nginx+LUA 聚合业务前置 业务接口合并

反黄牛

多维度人员特征识别

文章目录
  1. 1. 早期
  2. 2. 购物车功能模块概况
  3. 3. 层级设计
  4. 4. 群集设计
  5. 5. 技术架构设计
  6. 6. 三段缓存
  7. 7. 异步检查
  8. 8. 存储异构
  9. 9. 购物车支付方案
  10. 10. 购物车支付中台的异构方案
  11. 11. Nginx+LUA 聚合业务前置 业务接口合并
  12. 12. 反黄牛
  13. 13. 多维度人员特征识别