See: Description
| Class | Description |
|---|---|
| DefaultWorker | |
| GenIdFactory | |
| IntSerialIdReturnLong |
组成:1位符号位+22位时间(分)+9位序列号
每分钟可出512个int序列号,可透支两分钟(共512*3).
|
| OneTimeSnowflakeId |
OneTimeSnowflakeId,进一步改进了梨花算法。
不依赖时间的梨花算法,Workerid应放在序号sequence的上一段,且应用SerialUniqueId算法,使ID不依赖于时间自动递增。
使用不依赖时间的梨花算法OneTimeSnowflakeId,应保证各节点大概均衡轮流出号,这样入库的ID会比较有序,因此每个段号内的序列号不能太多。
支持批获取ID号。可以一次取一批ID(即一个范围内的ID一次就可以获取了)。可以代替依赖DB的号段模式。
应用订单号等有安全要求的场景,可随机不定时获取一些批的号码不用即可。
考虑到2019年双11的峰值不超过55万笔/秒, 因此419w/s这个值已可以满足此苛刻要求;采用testSpeedLimit()检测平均值不超过419w/s这个值即可,而且在空闲时
段省下的ID号,还可以在高峰时使用。
|
| PearFlowerId |
改进的雪花算法——姑且称为梨花算法(PearFlowerId)吧 (忽如一夜春风来,千树万树梨花开)。
|
| SerialUniqueId |
在一个workerid内连续唯一的ID生成方法(绝对连续单调递增,全局唯一).Serial Unique Id in one workerid.
|
| UUID |
Copyright © 2024. All rights reserved.