• 欢迎使用千万蜘蛛池,网站外链优化,蜘蛛池引蜘蛛快速提高网站收录,收藏快捷键 CTRL + D

id软件百度云下载(id免费下载)



UidGenerator由百度基于Snowflake算法的唯一ID生成器的Java实现。但是和Snowflake算法又有所区别:



Snowflake算法是固定的。

Tips: 每次启动都会往WORKER_NODE表中插入数据

在百度UidGenerator的实现细节原理可以查看文档:https://github.com/baidu/uid-generator/blob/master/README.zh_cn.md。

Tips: 在这个实现里面降到了一个FalseSharing问题(为共享),这个有兴趣的可以去网上查询相关的资料。后续有时间补上这一块的知识,我也是第一次遇到这个知识点。

clone代码:

执行脚本:

从代码中scripts/WORKER_NODE.sql 获取脚本



上述脚本增加 CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

配置mysql.properties文件:

mysql.properties在test的目录下面,只需要配置和数据库相关的即可

运行UnitTest:

执行CachedUidGeneratorTest测试类:

数据库里面的数据:

Tips: 每次启动都往数据库插入数据,这里个人觉得可以优化。

百度UidGenerator是雪花算法另外一种实现,相比雪花算法固定了每个段的长度。这里设计成可调整的给使用者提供更加灵活。同时接入数据库的自增来实现Worker Id的设置(这里也可以自行拓展)。但是这个也有一个不足就是你不停的重启服务数据库表WORKER_NODE中的数据会越来越多。UidGenerator做成一个jar包集成到本地服务。

我是蚂蚁背大象,文章对你有帮助点赞关注我,文章有不正确的地方请您斧正留言评论~谢谢

参考资料:

本文链接:https://www.24zzc.com/news/169262977522047.html

相关文章推荐

    无相关信息