分布式id生成器jar包使用

2021-09-25 00:04:38 字數 854 閱讀 6133

該jar包依賴springboot,封裝了美團的leaf-parent,

伺服器不同例項是通過資料庫的主鍵生成表來確保id生成唯一的

只能在有資料來源的模組中使用

如果使用模組中有springboot管理的資料來源可以不用配置資料來源

如果沒有需要在配置中增加資料來源的配置,

com.github.xiefusi

key-generator-starter

1.0.0

key-generator:

dbcust: true #預設為false(使用使用模組中的連線池,為false時下面的datasource可以不用配置)

datasource:

driver-class-name: com.mysql.jdbc.driver

url: jdbc:mysql://$:$/$?useunicode=true&characterencoding=utf8&usessl=false

username: $

password: $

businesses:

- business-id: orderid #業務場景(必填)

begin: 1 #id開始自增點(非必填預設1l)

step: 5000 #自增步長(非必填預設5000)

description: 訂單id #業務場景秒速(非必填預設null)

result result = idutil.get("orderid");

if (status.success.equals(result.getstatus()))

分布式ID生成器

一 需求緣起 幾乎所有的業務系統,都有生成乙個唯一記錄標識的需求,例如 這個記錄標識往往就是資料庫中的主鍵,資料庫上會建立聚集索引 cluster index 即在物理儲存上以這個字段排序。這個記錄標識上的查詢,往往又有分頁或者排序的業務需求,例如 所以往往要有乙個time欄位,並且在time欄位上...

分布式 ID 生成器

乙個唯一 id 在乙個分布式系統中是非常重要的乙個業務屬性,其中包括一些如訂單 id,訊息 id 會話 id,他們都有一些共有的特性 全域性唯一很好理解,目的就是唯一標識某個次請求,某個業務。通常有以下幾種方案 可以利用mysql中的自增屬性auto increment來生成全域性唯一 id,也能保...

自學 分布式ID生成器

最近在做乙個專案,遇到了乙個小問題 針對資料庫的主鍵自增這塊怎麼解決,前提是採用分片部署。如果還是用我們之前的方式主鍵自增,會造成乙個表中id的重複。舉例說明 比如有乙個商品表,將這個商品表部署在3臺伺服器上 server1 server2 server3。如果是以前的主鍵自增 server1中會從...