文件名称:php-snowflake::snowflake:基于Snowflake算法PHP ID生成器(Twitter已宣布)
文件大小:11KB
文件格式:ZIP
更新时间:2024-02-24 06:28:19
php laravel unique-id snowflake-algorithm LaravelPHP
一个基于Snowflake算法PHP ID生成器(Twitter已宣布)。 描述 雪花算法PHP实现。 Snowflake是一项网络服务,可通过一些简单的保证大规模生成唯一的ID号。 第一位是未使用的符号位。 第二部分包括一个41位的时间戳(毫秒),其值是当前时间相对于特定时间的偏移量。 第三部分和第四部分的5位代表数据中心和工作人员,最大值为2 ^ 5 -1 = 31。 最后一部分由12位组成,这意味着每个工作节点每毫秒生成的序列号的长度,同一毫秒内最多可以生成2 ^ 12 -1 = 4095个ID。 在分布式环境中,五位数据中心和工作程序意味着可以部署31个数据中心,每个数据中心最多可以部署31个节点。 41位的二进制长度最大为2 ^ 41 -1毫秒= 69年。 因此,雪花算法可以使用长达69年。为了最大程度地使用该算法,您应该为其指定开始时间。 您必须知道,雪花算法生成的ID不能保证是唯一的。 例如,当两个不同的请求同时进入同一数据中心的同一节点,并且该节点生成的顺序相同时,生成的ID将被复制。 因此,如果要使用雪花算法生成唯一ID,则必须确保:在同一节点的同一
【文件预览】:
php-snowflake-master
----README-zh_CN.md(5KB)
----src()
--------RandomSequenceResolver.php(829B)
--------SequenceResolver.php(411B)
--------Snowflake.php(5KB)
--------RedisSequenceResolver.php(1KB)
--------LaravelSequenceResolver.php(1KB)
--------SwooleSequenceResolver.php(2KB)
----LICENSE(1KB)
----README.md(5KB)
----.styleci.yml(15B)
----.editorconfig(337B)
----composer.json(800B)