链氪巴士
  1. 首页
  2. 站点导航
  3. 文章
  4. 快讯
  5. 软件
  6. 书刊
  7. 关于

asyncins/mist:超高性能且不受时间回拨影响的全局唯一ID生成算法

薄雾算法(Mist)是一种全局唯一ID生成算法,不同于snowflake算法,具有更高的数值上限和更长的使用期限,拥有超高性能且不受时间回拨影响。它采用64位,通过特定的位设置满足多种业务场景要求。在实际应用中有如Medis这样与Redis结合的项目,解决程序重启的问题。它高位的...

访问官网 →

【Github】项目名:asyncins/mist:超高性能且不受时间回拨影响的全局唯一ID生成算法

一、项目简介

薄雾算法(Mist)是一种全局唯一ID生成算法。它不同于snowflake算法,具有更高的数值上限和更长的使用期限,拥有超高性能且不受时间回拨影响。该算法采用64位,占位为1 – 47 – 8 – 8,通过特定的位设置来满足如全局唯一性、趋势递增、单调递增、信息安全等业务场景要求。

二、核心技术

薄雾算法采用64位,高位占1位保持为0确保值为正数;第二段47位放置自增数,自增数在高位保证结果值呈递增态势;第三段和第四段分别占8位,放置随机因子,上限数值255,使结果值不可预测。其不受时间回拨影响是因为高位是按序递增的数值而非时间戳的二进制值,且中间位和末位的随机值大大增加了结果的不可预测性。

三、实践案例

作者的另一个项目Medis是薄雾算法与Redis的结合,实现了“全局不重复”,解决了程序重启带来的问题。

四、项目总结

薄雾算法是一个独特的全局唯一ID生成算法,在性能、不受时间回拨影响、结果不可预测等方面有自己的优势,并且在实际项目中有成功的应用案例。欢迎大家留言讨论关于薄雾算法的任何想法,比如在不同业务场景下的应用可能性等。

项目地址

GitHub链接直达