# GTUidGenerator **Repository Path**: genexus/gt-uid-generator ## Basic Information - **Project Name**: GTUidGenerator - **Description**: 基于百度UidGenerator(https://gitee.com/mirrors/UidGenerator)简单封装的唯一ID生成器,便于GeneXus中使用UidGenerator - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-09-19 - **Last Updated**: 2021-09-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: uidGenerator, 雪花算法, 自增ID, GeneXus ## README # GTUidGenerator #### 介绍 基于百度UidGenerator(https://gitee.com/mirrors/UidGenerator)简单封装的唯一ID生成器,因原项目是基于Spring + Mybatis构建,为了便于GeneXus中使用UidGenerator将其简化为两个独立的工具类,不再依赖Spring和Mybatis。 #### 软件架构 UidGenerator是Java实现的, 基于Snowflake算法的唯一ID生成器。UidGenerator以组件形式工作在应用项目中, 支持自定义workerId位数和初始化策略, 从而适用于docker等虚拟化环境下实例自动重启、漂移等场景。 在实现上, UidGenerator通过借用未来时间来解决sequence天然存在的并发限制; 采用RingBuffer来缓存已生成的UID, 并行化UID的生产和消费, 同时对CacheLine补齐,避免了由RingBuffer带来的硬件级「伪共享」问题. 最终单机QPS可达600万。 #### 使用说明 1. 使用百度DefaultUidGenerator生成Uid ![输入图片说明](https://images.gitee.com/uploads/images/2021/0919/181717_adae54f2_9752678.png "屏幕截图.png") 2. 使用百度CachedUidGenerator生成Uid ![输入图片说明](https://images.gitee.com/uploads/images/2021/0919/181756_02b5fcc7_9752678.png "屏幕截图.png")