mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-05-09 23:51:34 +08:00
add method
This commit is contained in:
parent
5719c28158
commit
60999194d1
@ -105,7 +105,9 @@ public class IdUtil {
|
||||
* @param workerId 终端ID
|
||||
* @param datacenterId 数据中心ID
|
||||
* @return {@link Snowflake}
|
||||
* @deprecated 此方法容易产生起义:多个Snowflake实例产生的ID会产生重复,此对象在单台机器上必须单例!
|
||||
*/
|
||||
@Deprecated
|
||||
public static Snowflake createSnowflake(long workerId, long datacenterId) {
|
||||
return new Snowflake(workerId, datacenterId);
|
||||
}
|
||||
@ -137,6 +139,57 @@ public class IdUtil {
|
||||
return Singleton.get(Snowflake.class, workerId, datacenterId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取单例的Twitter的Snowflake 算法生成器对象<br>
|
||||
* 分布式系统中,有一些需要使用全局唯一ID的场景,有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。
|
||||
*
|
||||
* <p>
|
||||
* snowflake的结构如下(每部分用-分开):<br>
|
||||
*
|
||||
* <pre>
|
||||
* 0 - 0000000000 0000000000 0000000000 0000000000 0 - 00000 - 00000 - 000000000000
|
||||
* </pre>
|
||||
* <p>
|
||||
* 第一位为未使用,接下来的41位为毫秒级时间(41位的长度可以使用69年)<br>
|
||||
* 然后是5位datacenterId和5位workerId(10位的长度最多支持部署1024个节点)<br>
|
||||
* 最后12位是毫秒内的计数(12位的计数顺序号支持每个节点每毫秒产生4096个ID序号)
|
||||
*
|
||||
* <p>
|
||||
* 参考:http://www.cnblogs.com/relucent/p/4955340.html
|
||||
*
|
||||
* @param workerId 终端ID
|
||||
* @return {@link Snowflake}
|
||||
* @since 5.7.3
|
||||
*/
|
||||
public static Snowflake getSnowflake(long workerId) {
|
||||
return Singleton.get(Snowflake.class, workerId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取单例的Twitter的Snowflake 算法生成器对象<br>
|
||||
* 分布式系统中,有一些需要使用全局唯一ID的场景,有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。
|
||||
*
|
||||
* <p>
|
||||
* snowflake的结构如下(每部分用-分开):<br>
|
||||
*
|
||||
* <pre>
|
||||
* 0 - 0000000000 0000000000 0000000000 0000000000 0 - 00000 - 00000 - 000000000000
|
||||
* </pre>
|
||||
* <p>
|
||||
* 第一位为未使用,接下来的41位为毫秒级时间(41位的长度可以使用69年)<br>
|
||||
* 然后是5位datacenterId和5位workerId(10位的长度最多支持部署1024个节点)<br>
|
||||
* 最后12位是毫秒内的计数(12位的计数顺序号支持每个节点每毫秒产生4096个ID序号)
|
||||
*
|
||||
* <p>
|
||||
* 参考:http://www.cnblogs.com/relucent/p/4955340.html
|
||||
*
|
||||
* @return {@link Snowflake}
|
||||
* @since 5.7.3
|
||||
*/
|
||||
public static Snowflake getSnowflake() {
|
||||
return Singleton.get(Snowflake.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取数据中心ID<br>
|
||||
* 数据中心ID依赖于本地网卡MAC地址。
|
||||
|
Loading…
x
Reference in New Issue
Block a user