Skip to content

Conversation

@zhaoweijie1213
Copy link

feat: 支持按指定时间生成雪花 ID(可自动补毫秒)

  • 在 ISnowWorker 接口新增 NextId(DateTime dateTime, bool isMillisecondPrecision) 方法
  • 在 SnowWorkerM1、 SnowWorkerM3 中实现该新接口,使用独立的历史序列计数器生成 ID,避免影响实时发号状态,不再受 MaxBackwardMs 的回拨限制
  • 新增 bool 参数 isMillisecondPrecision,当传入时间仅精确到秒时,自动用当前系统时间的毫秒值补全;已包含毫秒精度则直接使用
  • 生成 ID 时不修改原有的 _CurrentSeqNumber_LastTimeTick 等字段,通过按位运算组合时间差、数据中心 ID、工作节点 ID 和独立序列号,保证唯一性
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant