# lightingid **Repository Path**: qingzhongwen/lightingid ## Basic Information - **Project Name**: lightingid - **Description**: 基于雪花算法开发的高性能id生成器!单机高达3500万QPS! - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: https://gitee.com/qingzhongwen/lightingid - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2022-10-20 - **Last Updated**: 2022-10-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README LightingId ========================== ​ LightingId基于Java实现, 参考[Snowflake](https://github.com/twitter/snowflake)算法实现的唯一ID生成器。LightingId以组件形式集成到业务服务项目中,可自行根据业务需求制定workerId位数和sequence序列策略,以适应实际业务需求! ​ 在实现上, LightingId通过利用时间递增规律来解决sequence天然存在的并发限制; 采用链表来缓存管理多个WorkerIdGenerator生成器,每一个生成器负责自身1秒的sequence序列生成,当前生成器使用完成后通过链表获取下一秒的WorkerIdGenerator继续生成ID,可以在保证高并发场景下为业务服务连续生产ID。 ​ 通过时间的递增特性有效解决雪花算法时间回拨问题, 基于Inter(R) Core(TM) i7-7700HQ CPU 测试为例,多核压测QPS可达3500万。 ![image-20221020153146363](E:\codes\idgenerators\lightingid\README.assets\image-20221020153146363.png) 依赖版本:[Java8](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)及以上版本!