分布式id生成问题求解答

如何设计一个分布式id 尽量在高并发下不重复,还要尽可能短
我想到的是时间戳➕redis 自增id
有没有更好的答案,雪花算法什么的太长了,最好还不要用redis这种中间件
求各位大神解答
#暑期实习还是日常实习# #如果不工作真的会快乐吗# #设计人的面试记录# #牛客创作赏金赛# #redis高频面试题# #腾讯# #美团# #字节# #阿里# #快手#
全部评论
尽可能短的话, 可以时间戳位数小一点, 然后机器id也加进来唯一确定一个机器( redis就不用了), 支持的机器总数也可以少一点, 这样id就短, 最后就是一毫秒内支持的请求数量自增id也可以少点, 就短点, 再者可以换一种编码方式
1 回复 分享
发布于 03-19 10:16 上海
回答参考方案:说一下各大方案及优缺点就行。 1. UUID(优点本地生成、缺点是16字节128位存储成本高以及会产生页分裂问题 2.雪花算法(优点生成性能高、可以根据业务特征分配Bit位、缺点是依赖强时间回钟) 3.MySQL自增主键和Redis的Incr命令(不做探讨) 3. 分布式ID生成服务、如美团的leaf算法(Leaf-segment和Leaf-snowflake) 大家这里可以去看美团技术文章 这里引导一下思路就好
1 回复 分享
发布于 03-19 14:21 广东
雪花算法不长吧?比uuid短很多
点赞 回复 分享
发布于 03-19 08:09 安徽

相关推荐

评论
1
3
分享

创作者周榜

更多
正在热议
更多
牛客网
牛客企业服务