snowflake-PHP 全局唯一ID生成服务开源项目

我要开发同款
匿名用户2016年06月16日
44阅读
开发技术PHP
所属分类程序开发、其他开发相关
授权协议GPL

作品详情

Snowflake是一项网络服务,可通过一些简单的保证大规模生成唯一的ID号。其优点是:高性能,低延迟;独立的应用;按时间有序。缺点是:需要独立的开发和部署。

41位的时间序列(精确到毫秒,41位的长度可以使用69年);

10位的机器标识(10位的长度最多支持部署1024个节点);

12位的计数顺序号(12位的计数顺序号支持每个节点每毫秒产生4096个ID序号)最高位是符号位,始终为0。

Snowflake是一个很高效很方便的GUID产生算法,一个int64_t字段就可以胜任,不像现在主流128bit的GUID算法,即使无法保证严格的ID序列性,但是对于特定的业务,比如用做游戏服务器端的GUID产生会很方便。另外,在多线程的环境下,序列号使用Atomic可以在代码实现上有效减少锁的密度。

目前,Snowflake初始版本已退役。

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论