uid-generator-springboot-starter

澹台浩广
2023-12-01

uid-generator-springboot-starter

百度唯一UID生成器Springboot自动化配置

默认情况下不需要配置任何参数,直接注入UidGenerator对象即可使用。

版本说明

该项目版本与uid-generator版本保持一致

参数说明

参数名称默认值备注
sensin.uid.timeBits时间长度30可使用时长为以时间基点epochStr为起点,timeBits为增量的时间长度
sensin.uid.workerBits机器id18最多可支持约2^n次机器启动
sensin.uid.seqBits每秒下的并发序列15该值越大,每秒支持的并发生成的序列越大
sensin.uid.epochStr时间基点2019-07-10格式:yyyy-MM-dd,这个值会转换成毫秒的时间戳,用于时间长度起始
sensin.uid.boostPowerRingBuffer size扩容参数3可提高UID生成的吞吐量,过高会造成栈溢出
sensin.uid.paddingFactorRingBuffer填充百分比65该值在(0,100)范围内,当RingBuffer内值到达该百分比时,自动填充满RingBuffer
sensin.uid.scheduleIntervalRingBuffer填充周期2019-07-10另外一种RingBuffer填充时机, 在Schedule线程中, 周期性检查填充。一般不使用这个属性,除非使用ID的频次固定。

WorkerID生成策略

默认使用com.baidu.fsg.uid.worker.DisposableWorkerIdAssigner来进行生成,可自定义,需要符合算法规范。

拒绝策略

  • 当环已满, 无法继续填充时

    默认无需指定, 将丢弃Put操作, 仅日志记录。

    如有特殊需求, 请实现RejectedPutBufferHandler接口。

  • 当环已空, 无法继续获取时

    默认无需指定, 将记录日志, 并抛出UidGenerateException异常。

    如有特殊需求, 请实现RejectedTakeBufferHandler接口。

源码

该文档来自于项目README

callELPSYCONGROO/uid-generator-spring-boot-starter

 类似资料: