uuid生成规则 适用于分布式唯一标识码的生成算法有哪些?
适用于分布式唯一标识码的生成算法有哪些?
现在分布式很流行。由于数据库分布在不同的服务器上,如果采用传统的自增长方式生成Id,很难保证不同数据库上的Id不重复,存在业务影响的风险
!可以说,唯一的标识码是分布式数据库的第一个障碍
!我与distributed接触多年,我遇到了许多生成唯一标识码的方法
!1,UUID:有很多算法,使用同一台机器上生成的时间字节来区分同一台机器上的不同id,使用IEEE机器识别号或IP地址来区分不同机器上的id,从而区分不同机器和同一台机器,确保生成的UUID是全局唯一的
!Java有自己的UUID随机UUID()算法实现
!限制:生成的ID没有序列
在分布式系统中,如何生成分布式ID?
两种常用的分布式ID方法是UUID和snowflake算法。
UUID是一种本地ID生成方法,不需要远程调用,具有高性能、低延迟和良好的可扩展性,但UUID不支持增量。
该算法的核心思想是一个长ID:1位标识符(始终为0)、41位时间戳毫秒、10位机器识别码和12位序列号(毫秒)。从理论上讲,该算法可以在一台机器上每秒生成1000*(2^12)个ID,具有高性能、增长趋势和高灵活性。然而,算法依赖于机器的操作时钟。如果服务器倒计时,将生成重复的ID。
uuid生成规则 java获取uuid java uuid生成规则
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。