有序递增性:确保生成的ID是对于某个用户或者业务模块是按一定的趋势有序递增的。
高可用性:确保任何时候都能正确的生成ID,或者说在业务可用期间保证ID生成规则可用。...分布式唯一:并发生成保证全局或者业务领域唯一
不引入额外依赖:作为基础服务层,除了DB之外不想引入其他外部组件依赖
高性能:生成id速度快,并对底层DB压力可控
趋势递增和业务属性:生成的id从时间维度趋势递增...是否达到扩容位点和切换buffer位点,在达到扩容位点时(80%)通过事件模式通知扩容buffer2(闲置buffer),如果buffer1(命中buffer)中id用完则触发命中buffer自动切换,...我们设置步长是5,自动扩容阈值时0.8(命中buffer的id使用80%时触发闲置buffer扩容),从执行结果截图中我们看到,初始命中是buffer1,生成四个id之后到达扩容阈值触发buffer2自动批量加载...id,生成第5个id时buffer1中存储的id已经用完,触发命中buffer自动切换到buffer2,中间使用到80%的时候又会触发buffer1自动批量获取id,循环运行下去。