电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

分布式ID

来源:金蝶云社区作者:金蝶2024-09-237

分布式ID

# 1 简介 分布式ID服务提供生成环境内全局唯一ID。通过分布式ID服务生成的ID具有如下特性: **1. 全局唯一** 在一个cluster内产生的id是唯一的。 **2. 趋势有序** 不能确保在极短的时间(取决于微服务节点之间的时间差)内生成的多个id是严格有序的,因此不能作为数据行生成的排序依据。ID值含有当前服务节点的时间值,一个服务节点产生的id是严格有序,多个服务节点之间的时间可能存在误差,因此无法保证严格有序,但趋势有序。 **3. 高性能** 服务本节点内生成ID,仅在启动服务的时候,需要通过网络获取种子(workerId)。 **4. 高可靠** 1.避免单点故障:ID服务由多个group组成,group内含多个worker。 2.容错与复用:含时钟回拨容错机制,可复用异常宕机服务节点的workerId。 # 2 应用场景 在复杂的分布式系统中,往往需要对大量的数据和消息进行唯一标识。在如下场景中比较常用: > **分布式环境数据库表主键生成。** # 3 接口说明 分布式ID相关接口定义和实现存在于bos-id-1.0.jar中。对于使用者来说只需要调用kd.bos.id.ID接口中的方法即可。 ## 3.1 接口列表 | 方法 | 说明 | | - | - | | genLongId | 生成一个long类型的ID | | genLongIds | 生成指定数量的long类型ID | | genStringId | 生成一个String类型的ID | | genStringIds | 生成指定数量的String类型ID | | toStringId | 将long类型ID转成String类型ID | | toLongId | 将String类型ID转成long类型ID | | getCreateTime | 获取ID的创建时间 | ## 3.2 接口详情 ### genLongId + **功能描述** 生成一个long类型的ID。 + **方法** ```java static long genLongId() ``` + **参数说明** 无 + **返回值** 返回一个long类型的ID + **示例代码** ```java long id = ID.genLongId(); ``` ### genLongIds + **功能描述** 生成指定数量的long类型ID。 + **方法** ```java static long[] genLongIds(int count) ``` + **参数说明** | 参数 | 类型 | 说明 | | - | - | - | | count | int | 生成ID的数量 | + **返回值** 返回一个long类型的ID数组。 + **示例代码** ```java long[] ids = ID.genLongIds(10); ``` ### genStringId + **功能描述** 生成一个String类型的ID。 + **方法** ```java static String genStringId() ``` + **参数说明** 无 + **返回值** 返回一个String类型的ID。 + **示例代码** ```java String id = ID.genStringId(); ``` ### genStringIds + **功能描述** 生成指定数量的String类型ID。 + **方法** ```java static String[] genStringIds(int count) ``` + **参数说明** | 参数 | 类型 | 说明 | | - | - | - | | count | int | 生成ID的数量 | + **返回值** 返回一个String类型的ID数组。 + **示例代码** ```java String[] ids = ID.genStringIds(10); ``` ### toStringId + **功能描述** 将long类型ID转成String类型ID。 + **方法** ```java static String toStringId(long id) ``` + **参数说明** | 参数 | 类型 | 说明 | | - | - | - | | count | long | id | + **返回值** 返回long类型ID转换后的String类型ID。 + **示例代码** ```java String stringId = ID.toStringId(698290515157716992L); ``` ### toLongId + **功能描述** 将Sting类型ID转成long类型ID。 + **方法** ```java static long toLongId(String id) ``` + **参数说

分布式ID

# 1 简介分布式ID服务提供生成环境内全局唯一ID。通过分布式ID服务生成的ID具有如下特性:**1. 全局唯一**在一个cluster内产生的id是唯...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信