ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
1. 利用数据库自增ID 优点:最简单 缺点:单点风险、单机性能瓶颈 2. 利用数据库集群并设置相应的步长\(Flickr方案\) 优点:高可用、ID较简洁 缺点:需要单独的数据库集群 3. Twitter Snowflake 优点:高性能高可用、易拓展 缺点:需要独立的集群以及ZK snowflake算法的缺点: 时钟回拨问题; 趋势递增,而不是绝对递增; 不能在一台服务器上部署多个分布式ID服务; 4. GUID、Random算法 优点:简单 缺点:生成ID较长,有重复几率 5. 基于Redis的ID生成器 优点:长度可控,高性能 缺点:依赖redis 6. 时间戳+用户标识码+随机数(点评) 优点: * 方便、成本低。 * 基本无重复的可能。 * 自带分库规则,这里的用户标识码即为用户ID的后四位,在查询的场景下,只需要订单号就可以匹配到相应的库表而无需用户ID,只取四位是希望订单号尽可能的短一些,并且评估下来四位已经足够。 * 可排序,因为时间戳在最前面 缺点:长度稍长性能要比int/bigint的稍差等