【Github】项目名:asyncins/mist:超高性能且不受时间回拨影响的全局唯一ID生成算法
一、项目简介
薄雾算法(Mist)是一种全局唯一ID生成算法。它不同于snowflake算法,具有更高的数值上限和更长的使用期限,拥有超高性能且不受时间回拨影响。该算法采用64位,占位为1 – 47 – 8 – 8,通过特定的位设置来满足如全局唯一性、趋势递增、单调递增、信息安全等业务场景要求。
二、核心技术
薄雾算法采用64位,高位占1位保持为0确保值为正数;第二段47位放置自增数,自增数在高位保证结果值呈递增态势;第三段和第四段分别占8位,放置随机因子,上限数值255,使结果值不可预测。其不受时间回拨影响是因为高位是按序递增的数值而非时间戳的二进制值,且中间位和末位的随机值大大增加了结果的不可预测性。
三、实践案例
作者的另一个项目Medis是薄雾算法与Redis的结合,实现了“全局不重复”,解决了程序重启带来的问题。
四、项目总结
薄雾算法是一个独特的全局唯一ID生成算法,在性能、不受时间回拨影响、结果不可预测等方面有自己的优势,并且在实际项目中有成功的应用案例。欢迎大家留言讨论关于薄雾算法的任何想法,比如在不同业务场景下的应用可能性等。
项目地址
数据统计
数据评估
本站链氪巴士提供的asyncins/mist:超高性能且不受时间回拨影响的全局唯一ID生成算法都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由链氪巴士实际控制,在2024年12月6日 上午12:00收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,链氪巴士不承担任何责任。
相关导航
gnet是一个超快速且轻量级的事件驱动网络框架。它通过利用epoll和kqueue从头构建,在许多特定场景下能以更低的内存消耗实现比Go标准网络库更高的性能。gnet基于TCP/UDP协议和Unix域套接字在传输层工作,开发者可以基于gnet实现自己的应用层协议(如HTTP、RPC、WebSocket、Redis等)来构建多样化的网络服务。一些企业/组织在生产环境中将gnet用作底层网络服务。在TechEmpower的基准测试中,gnet在全球486个涵盖各种编程语言的框架中排名前50,在Go框架的完整排名中,gnet超越了其他所有框架,成为Go中最快的网络框架。不过其在TechEmpower上的HTTP实现是为了基准测试目的而进行的半完成品,远未达到生产就绪状态。