Facebook如何生成唯一标识符

时间:2017-05-11 11:42:50

标签: algorithm encryption unique

我正在寻找为我正在开发的项目中的不同业务实体生成唯一标识符的方法。目前我们正在使用GUID,但我们想要转移到数字标识符。我使用过Facebook Graph API,并发现他们有某种独特的自包含(正如我所说)的ID。但我在互联网上找不到关于他们如何生成这些密钥的任何信息或假设。

根据我对Facebook ID的建议和调查,我为标识符制定了一些最低要求。他们在这里:

  • 必须以long / Int64值显示。
  • 在整个系统的范围内必须是唯一的。
  • 它必须包含作为最小类型的请求实体(用户,页面等)。这样就可以创建像GET {host}/{id}这样的сonvenientAPI。

是否有人有任何经验或想法如何解决这项任务?我想应该有一些现有的解决方案或规范。如果有人有一些建议,那么听到这个很好。

1 个答案:

答案 0 :(得分:4)

好的,我的答案是Twitter Snowflake。您也可以在这里找到一些有趣的有用信息:Sharding & IDs at Instagram。希望它对某人有所帮助。