【产品经理修炼之道】-图解支付系统订单号设计与最佳实践

本文主要讲清楚支付系统订单号(或业务ID)各种设计方案对比,各子域的订单号(或业务ID)为什么要统一规范,以及最佳实践。最后还会简单分析微信支付和支付宝的对客订单号的组成差异。

假如你也好奇为什么有了数据库自增ID外还需要业务ID,或者想了解如何在业务ID中编织进业务信息比如业务系统,数据版本,分库分表位等,值得花几分钟了解一下。

同时我也不建议在支付系统中使用雪花算法来生成业务ID。

订单号和业务ID本质都是标识一笔交易,以下统称为:业务ID。

一、什么是业务ID

数据库一般都会设计一个自增ID做为主键,同时还会设计一个能唯一标识一笔业务的ID,这就是所谓的业务ID(也称业务键)。比如收单域有收单单号,支付域有支付号,渠道网关域有渠道支付号等,这些都属于业务ID。

为什么有了自增ID后,还需要有业务ID呢?一般来说有以下几个核心原因:

  • 分库分表的强诉求。一旦分库分表,各表之间的自增ID就一定会重复。
  • 全球化部署的强诉求。在跨境支付系统建设时,部分国家地区要求本地化部署,需要通过业务ID知道业务运行在哪个机房。
  • 标识业务语义,在处理故障时能快速定位是哪个域哪个业务。
  • 方便系统升级。通过业务ID的版本所在位判断业务应该走
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaoli8748_软件开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值