From 658cdee2f839e4d11a4d392c4c7da69e8d0eef0e Mon Sep 17 00:00:00 2001 From: Ahoo Wang Date: Tue, 2 Jan 2024 17:25:01 +0800 Subject: [PATCH] feat(doc): update documentation --- .../docs/guide/extensions/cosid-jdbc.md | 42 ++++++++++++----- .../docs/guide/extensions/cosid-mongo.md | 32 ++++++++++++- .../docs/guide/extensions/cosid-redis.md | 46 ++++++++++++------- 3 files changed, 91 insertions(+), 29 deletions(-) diff --git a/documentation/docs/guide/extensions/cosid-jdbc.md b/documentation/docs/guide/extensions/cosid-jdbc.md index 82c90ee528..3745943fb3 100644 --- a/documentation/docs/guide/extensions/cosid-jdbc.md +++ b/documentation/docs/guide/extensions/cosid-jdbc.md @@ -1,16 +1,25 @@ # CosId-Jdbc 模块 -[cosid-jdbc](https://github.com/Ahoo-Wang/CosId/tree/main/cosid-jdbc) 使用**关系型数据库**作为**雪花算法**(`SnowflakeId`) 的 机器号分配器 (`MachineIdDistributor`) 、**号段算法**(`SegmentId`)的号段分发器 (`IdSegmentDistributor`)。 +[cosid-jdbc](https://github.com/Ahoo-Wang/CosId/tree/main/cosid-jdbc) 提供 **关系型数据库** 的支持。实现了: + +- `MachineIdDistributor`:作为**雪花算法**(`SnowflakeId`)的机器号分配器 (`MachineIdDistributor`)。 +- `IdSegmentDistributor`:作为**号段算法**(`SegmentId`)的号段分发器 (`IdSegmentDistributor`)。 ## 安装 ::: code-group ```kotlin [Gradle(Kotlin)] val cosidVersion = "latestVersion" + implementation("org.springframework.boot:spring-boot-starter-data-jdbc") implementation("me.ahoo.cosid:cosid-jdbc:${cosidVersion}") ``` ```xml [Maven] + + org.springframework.boot + spring-boot-starter-data-jdbc + ${springboot.version} + me.ahoo.cosid cosid-jdbc @@ -20,16 +29,10 @@ ``` ::: -## JdbcIdSegmentDistributor - -

- SegmentId -

- -使用关系型数据库作为号段算法(`SegmentId`)的号段分发器。 - ### 创建 `cosid` 表 +`cosid` 表作为号段分发器的号段分发记录表。 + ```sql create table if not exists cosid ( @@ -41,12 +44,9 @@ create table if not exists cosid ) engine = InnoDB; ``` -## JdbcMachineIdDistributor - ### 创建 `cosid_machine` 表 ```sql - create table if not exists cosid_machine ( name varchar(100) not null comment '{namespace}.{machine_id}', @@ -63,3 +63,21 @@ create table if not exists cosid_machine create index if not exists idx_namespace on cosid_machine (namespace); create index if not exists idx_instance_id on cosid_machine (instance_id); ``` + +## 配置案例 + +```yaml {4,10,14} +spring: + datasource: + url: # Jdbc 分发器直接依赖 DataSource +cosid: + namespace: ${spring.application.name} + machine: + enabled: true # 可选,当需要使用雪花算法时,需要设置为 true + distributor: + type: jdbc + segment: + enabled: true # 可选,当需要使用号段算法时,需要设置为 true + distributor: + type: jdbc +``` \ No newline at end of file diff --git a/documentation/docs/guide/extensions/cosid-mongo.md b/documentation/docs/guide/extensions/cosid-mongo.md index 57b4a5ff71..859a610644 100644 --- a/documentation/docs/guide/extensions/cosid-mongo.md +++ b/documentation/docs/guide/extensions/cosid-mongo.md @@ -1,14 +1,25 @@ # CosId-Mongo 模块 +[cosid-mongo](https://github.com/Ahoo-Wang/CosId/tree/main/cosid-mongo) 提供 **MongoDB** 的支持。实现了: + +- `MachineIdDistributor`:作为**雪花算法**(`SnowflakeId`)的机器号分配器 (`MachineIdDistributor`)。 +- `IdSegmentDistributor`:作为**号段算法**(`SegmentId`)的号段分发器 (`IdSegmentDistributor`)。 + ## 安装 ::: code-group ```kotlin [Gradle(Kotlin)] val cosidVersion = "latestVersion" + implementation("org.springframework.boot:spring-boot-starter-data-mongodb") implementation("me.ahoo.cosid:cosid-mongo:${cosidVersion}") ``` ```xml [Maven] + + org.springframework.boot + spring-boot-starter-data-mongodb + ${springboot.version} + me.ahoo.cosid cosid-mongo @@ -16,4 +27,23 @@ ``` -::: \ No newline at end of file +::: + +## 配置案例 + +```yaml {4,10,14} +spring: + data: + mongodb: + uri: # Mongo 分发器直接依赖 spring-data-mongodb,这样可以省去额外的配置。 +cosid: + namespace: ${spring.application.name} + machine: + enabled: true # 可选,当需要使用雪花算法时,需要设置为 true + distributor: + type: mongo + segment: + enabled: true # 可选,当需要使用号段算法时,需要设置为 true + distributor: + type: mongo +``` \ No newline at end of file diff --git a/documentation/docs/guide/extensions/cosid-redis.md b/documentation/docs/guide/extensions/cosid-redis.md index 502ce389d5..113c0dfd92 100644 --- a/documentation/docs/guide/extensions/cosid-redis.md +++ b/documentation/docs/guide/extensions/cosid-redis.md @@ -1,16 +1,25 @@ # CosId-Redis 模块 -[cosid-spring-redis](https://github.com/Ahoo-Wang/CosId/tree/main/cosid-spring-redis) 使用**Redis**作为**雪花算法**(`SnowflakeId`) 的 机器号分配器 (`MachineIdDistributor`) 、**号段算法**(`SegmentId`)的号段分发器 (`IdSegmentDistributor`)。 +[cosid-spring-redis](https://github.com/Ahoo-Wang/CosId/tree/main/cosid-spring-redis) 模块提供 *Redis* 的支持。实现了: + +- `MachineIdDistributor`:作为**雪花算法**(`SnowflakeId`)的机器号分配器 (`MachineIdDistributor`)。 +- `IdSegmentDistributor`:作为**号段算法**(`SegmentId`)的号段分发器 (`IdSegmentDistributor`)。 ## 安装 ::: code-group ```kotlin [Gradle(Kotlin)] val cosidVersion = "latestVersion" + implementation("org.springframework.boot:spring-boot-starter-data-redis") implementation("me.ahoo.cosid:cosid-spring-redis:${cosidVersion}") ``` ```xml [Maven] + + org.springframework.boot + spring-boot-starter-data-redis + ${springboot.version} + me.ahoo.cosid cosid-spring-redis @@ -20,20 +29,25 @@ ``` ::: -## SpringRedisIdSegmentDistributor - -

- SegmentId -

- -使用**Redis**作为号段算法(`SegmentId`)的号段分发器。 - -## SpringRedisMachineIdDistributor +## 配置案例 + +[CosId-Example-Redis](https://github.com/Ahoo-Wang/CosId/tree/main/examples/cosid-example-redis) + +```yaml {4,10,14} +spring: + data: + redis: + host: localhost # Redis 分发器直接依赖 spring-data-redis,这样可以省去额外的配置。 +cosid: + namespace: ${spring.application.name} + machine: + enabled: true # 可选,当需要使用雪花算法时,需要设置为 true + distributor: + type: redis + segment: + enabled: true # 可选,当需要使用号段算法时,需要设置为 true + distributor: + type: redis +``` -

- SegmentId -

-

- Machine Id Safe Guard -