当前位置: 首页 > news >正文

电商核心业务 - 指南

电商核心业务 - 指南

电商核心业务总结:
需要的表包括订单主表、订单商品表、订单支付表、订单优惠表(这几张表与订单主表都是一对多的关系,它们的外键都是订单id)
1、订单重复问题,幂等性的问题(解决办法:生成全局唯一的订单id,在调用其他服务时将订单ID也一并传入)
生成ID需保证在高流量高并发分布式场景下订单ID全局唯一,并具有趋势递增、安全性的特点.所以需要供应一个生成ID的服务,在点击下单后进入订单页前,先调用生成ID的服务获取到ID后点击提交订单,才会生成订单。

订单aba问题:比如请求a把物流单号修改为123,之后请求B又修改为456,随后由于网络原因请求A重试把物流单号重新修改为123,看上去没有修改类似于这种障碍
(与之相对应,java的原子引用障碍)
解决方式:与java类似,可以增加版本号,每次修改服务都需要携带一个版本号,需要订单号和版本号同时满足才可以修改

总的来说, 对于创建订单的服务,能够通过预先生成订单号作为主键,利用数据库中主键唯一性特性,避免重复写入订单,实现创建订单服务的幂等性。对于更新订单的服务,许可经过一个版本号机制,即在每次更新数据之前校验版本号,以及在更新数据的同时自增版本号这样的方式来解决ABA问题,以确保更新订单服务的幂等性。

http://www.zskr.cn/news/7271.html

相关文章:

  • ai
  • 苏州才是最美的烟雨江南,苏州游玩必去的10大景点
  • linux增加网卡ip地址
  • Python 包与环境管理简史:从混乱到优雅
  • shell命令中循环执行操作的命令
  • 基于QEMU模拟器搭建Builtroot下的QT开发环境
  • 5个存款技巧,银行员工都在用,你知道几个?
  • windosw 配置arp绑定
  • SEERC 2022 题面简要翻译
  • C++篇(7)string类的模拟搭建
  • 阿里云防刷神器ESA搞活动免费领取
  • 报错TypeError: Unknown file extension .ts - broky
  • 磁盘存储简介-轮子
  • 审美积累 | 这样的暗色系音频播放界面怎么做?
  • cherry-pick 合并曾今某一次提交
  • Fast IO 模板
  • kylin V11安装mysql8.4.5(glibc.2.28版本)
  • iOS 上架 App 流程全解析 苹果应用发布步骤、App Store 审核流程、ipa 文件上传与 uni-app 打包实战经验
  • P6801 花式围栏
  • ipadװwindowsϵͳshell
  • input 设置只输入数字或其他自定义字符 - 指南
  • 12-factors
  • huggingface 模型权重文件
  • P4147 玉蟾宫(悬线法)
  • 「Java EE开发指南」如何用MyEclipse开发Java EE企业应用程序?(二)
  • TENGJUN防水TYPE-C 16PIN连接器技术解析:从结构设计到认证标准的全面解读 - 实践
  • MMoE学习笔记:利用门控专家网络高效建模多任务关系
  • SpringMVC使用jasypt加密配置文件 - Commissar
  • 基于Python+Vue开发的口腔牙科预约管理系统源码+运行步骤
  • ECT-OS-JiuHuaShan 框架实现元推理,是人类文明的金种子