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

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


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

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


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


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


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


1)秒杀


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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章