分布式环境中订单号的生成参考算法

Twitter-Snowflake算法,具体不记得自己去百度。

下面的一种算法摘自百度:

如果没有并发,订单号只在一个线程内产生,那么由于程序是顺序执行的,不同订单的生成时间一定不同,因此

用时间就可以区分各个订单。

如果存在并发,且订单号是由一个进程中的多个线程产生的,那么只要把线程ID添加到序列号中就可以保证订单

号唯一。

如果存在并发,且订单号是由同一台主机中的多个进程产生的,那么只要把进程ID添加到序列号中就可以保证订

单号唯一。

如果存在并发,且订单号是由不同台主机产生的,那么MAC地址、IP地址或CPU序列号等能够区分主机的号码添

加到序列号中就可以保证订单号唯一。


猜你喜欢

转载自blog.csdn.net/jialanshun/article/details/79372216