面试题:在分布式系统,你能想出来几种生成唯一ID的方案?( 九 )
-
如果系统中没有Redis , 还需要引入新的组件 , 增加系统复杂度 。
-
需要编码和配置的工作量比较大 。
5. Twitter的snowflake算法
snowflake是Twitter开源的分布式ID生成算法 , 结果是一个long型的ID 。 其核心思想是:使用41bit作为毫秒数 , 10bit作为机器的ID(5个bit是数据中心 , 5个bit的机器ID) , 12bit作为毫秒内的流水号(意味着每个节点在每毫秒可以产生 4096 个 ID) , 最后还有一个符号位 , 永远是0 。
具体实现的代码可以参看https://github.com/twitter/snowflake 。
C#代码如下:
推荐阅读
- 梦幻西游|梦幻西游:客户端检测可能存在木马要怎么办,需要重装系统吗?
- 梦幻西游|梦幻西游:系统就是这么设定的,为什么抢了财神的摇钱箱会被勾魂
- edg战队|梦幻西游:玩家从建号到100级一直踩雷,是系统针对还是巧合?
- 明日方舟|明日方舟是否有必要实装扫荡系统 博士:退一步实装连战系统也好
- 苏菲的炼金工房2|《苏菲的炼金工房2》新角色和游戏系统情报
- 和平精英|“吃鸡”迎颠覆级更新,光子上线“迷雾系统”,S1玩家拍手称快!
- 流氓公司第4赛epic包|第五人格:据说官方已制作人脸识别系统,漏网之鱼要夜不能寐了
- 王者荣耀|王者荣耀专精系统收获差评,答疑回应平衡问题
- 地下城与勇士|DNF:竞拍系统二次更新!神话转换券常驻,奥兹玛3牛团复兴
- 人脸识别|接入人脸识别认证,网易游戏再次优化防沉迷系统