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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant