
1.Vesta
1.1Vesta简介
1.2项目地址
https://gitee.com/free/vesta-id-generatorhttps://gitcode.com/iweisi/vesta-id-generator/overview?utm_source=artical_gitcode&isLogin=1
1.3使用参考博客
https://blog.csdn.net/chenqiuge1984/article/details/80128916https://blog.csdn.net/u011673769/article/details/120776650https://blog.csdn.net/gitblog_00057/article/details/137166537https://blog.csdn.net/isea533/article/details/79754970
1.4说明
2.CosId
2.1简介
CosIdGenerator: 单机 TPS 性能:1557W/s,三倍于UUID.randomUUID(),基于时钟的全局趋势递增ID,可以同时支持一百万个实例。SnowflakeId: 单机 TPS 性能:409W/s [JMH 基准测试], 主要解决 时钟回拨 、机器号分配、取模分片不均匀 等问题并提供更加友好、灵活的使用体验。SegmentId: 每次获取一段 (Step) ID,来降低号段分发器的网络IO请求频次提升性能。并提供多种号段分发器实现。-
SegmentChainId:SegmentChainId (lock-free) 是对SegmentId的增强。性能可达到近似AtomicLong的TPS 性能:12743W+/s JMH 基准测试:
https://cosid.ahoo.me/guide/faq/perf-test.html
PrefetchWorker维护安全距离(safeDistance), 并且支持基于饥饿状态的动态safeDistance扩容/收缩。-
适应性:相比于 SegmentId,SegmentChainId可以根据业务场景动态调整Step来提升性能。
2.1官网
https://cosid.ahoo.me/guide/introduction.html2.3代码仓库地址
https://gitee.com/AhooWang/CosIdhttps://github.com/Ahoo-Wang/CosId
2.4说明
https://cosid.ahoo.me/guide/faq/Performance-CosId-Leaf.htmlCosId ( SegmentChainId) 性能是 Leaf (segment) 的 5 倍。CosId 、Leaf 的性能与号段步长(Step) 无关。 CosId TPS 基本接近 AtomicLong
3.总结
https://mybatis-flex.com/zh/core/id.htmlmybatis-flex内置三种id生成实现:
uuid:通过
UUIDKeyGenerator生成 UUID 作为数据库主键。flexId:独创的 FlexID 算法生成数据库主键(了解更多信息请参阅源码)。
snowFlakeId:通过雪花算法(
SnowFlakeIDKeyGenerator)生成数据库主键。