分布式系统如何保证订单号唯一性?

1:问题描述,分布式系统,包括服务和数据库都是分布式的,不存在用一台服务器来产生订单号的情况,因为这样就算不上分布式了,如果这台服务器挂掉了,整个系统崩溃。

 

2:分布式系统产生订单号的解决思路,

1)使用可以唯一确定的东西来产生订单号,比如电脑系统中使用的时间,精确到毫秒,或者微妙等精度,但是像秒杀系统,任然可能存在同时下单的情况。

 

2)更多的情况是使用队列,所有的下单存在一个队列里面,处理的时候进行分布式处理,但是这个队列缺不符合分布式的标准,存在单点故障。

 

3)不可以使用客户端的信息,因为客户端的信息来生单不安全,客户可能存在改传到服务端的参数。

 

3:分布式订单号唯一性可能被打破的情况如下:

 

1)秒杀

 

4:个人感觉分布式系统根本没法保证订单号的唯一性。只能尽可能的保证订单的唯一性。或者使用单服务器+队列的方式,来处理订单。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值