p0po's blog

P2P订单系统设计笔记

定义

  • R系统:请求发起方
  • S系统:请求接受方

R–>S 发起一个同步网络交易过程

  • R生成唯一下单号存储(R如果不是系统,而是用户不用此步)
  • R携带唯一的下单号发起交易请求
  • S接收唯一下单号防重校验
  • S防重校验通过生成订单号存储起来,返给R,发送MQ消息(下单号,订单号,状态…)
  • S防重校验通过失败将查询到的订单号,返给R
  • R接收到S的返回结果更新数据
  • S如果接收不到结果,用同一个下单号重试
  • S对于MQ的处理要根据下单号防重

对于网络请求,有明确结果是最理想的情况,可能出现的异常通常有两大类:

  • R网络请求没有达到S
  • R网络请求达到S,S的返回结果没有到达R
  • S的返回结果超出预期