Sharding JDBC 自定義主鍵生成器

2021-10-06 01:32:50 字數 1691 閱讀 8101

官方文件分布式主鍵

sharding-jdbc提供了兩種主鍵生成策略uuid、snowflake,預設使用snowflake,

還抽離出分布式主鍵生成器的介面org.apache.shardingsphere.spi.keygen.shardingkeygenerator,方便使用者自行實現自定義的自增主鍵生成器。

1.自定義實現shardingkeygenerator

public

class

******shardingkeygenerator

implements

shardingkeygenerator

@override

public string gettype()

}

這裡僅為了說明如何配置使用自定義主鍵生成器,簡單使用atomiclong實現

2.配置分片策略

spring

:shardingsphere

:datasource

:## 略......

sharding

:tables

:t_order

:## 指定 t_order表的 資料分布情況,配置資料節點

actual-data-nodes

: m1.t_order_$-

>

## 指定t_order表的主鍵列,以及主鍵生成策略為snowflake

key-generator

:column

: order_id

## 指定分片策略型別

type

: ******

## 指定t_order的分片策略: 設定分片鍵和分片演算法

table-strategy

:inline

:sharding-column

: order_id

## 根據order_id % 2 + 1 的結果,指定t_order的實際表

algorithm-expression

: t_order_$-

>

指定spring.shardingsphere.datasource.sharding.tables..key-generator.type=******

3.spi介面配置新增如下檔案meta-inf/services/org.apache.shardingsphere.spi.keygen.shardingkeygenerator,檔案內容為:your_package_name.******shardingkeygenerator.

4.測試

自定義 如何自定義協議

何為自定義協議,其實是相對標準協議來說的,這裡主要針對的是應用層協議 常見的標準的應用層協議如http ftp smtp等,如果我們在網路通訊的過程中不去使用這些標準協議,那就需要自定義協議,比如我們常用的rpc框架 dubbo,thrift 分布式快取 redis,memcached 等都是自定義...

自定義控制項 自定義鐘錶

private context mcontext 畫筆 private paint mpaint 控制項的寬 private int mwidth x方向的圓心座標 private int center 鐘錶的半徑 private int mradio 圓環的寬 private int stroke...

自定義控制項及自定義屬性

自定義控制項在android開發中的重要性,是不言而喻,眾人皆知的。希望通過這二天的學習,能讓大家了解自定義控制項的原理,熟悉自定義控制項的使用步驟,並能寫出一些普通的效果。內容介紹 1 使用系統控制項,實現自定義的效果,案例有 優酷環形選單 廣告條 viewpager 下拉列表 spinner 2...