当前位置: 首页 > 网络应用技术

如何设计百万个数字用户ID

时间:2023-03-08 16:49:19 网络应用技术

  当我们设计平台帐户系统时,我们会遇到这样的需求:在平台上注册的用户ID以n -bit编号显示。乍一看,此需求非常简单,只是一个词。但是经过仔细的思考,我发现仍然有很多地方可以考虑:

  首先,确定ID是自我提示还是随机。从上面的思考中可以发现,用户的ID增加将带来一些隐藏的危险:如果系统存在于某个错误中,则可以通过用户ID面对用户信息,并且您将面对它。通过遍历用户IDS,获得了获得平台的完整用户信息的隐私泄漏。此外,自我提示还将暴露平台的规模,这不利于商业行为。因此,必须随机生成用户ID。

  因此,如何确保用户ID随机生成,如何确保每次都是独特的价值?这里有两个想法:

  其中,确定了参与的独特性和范围的范围。

  对于第一个想法,您可以参考唯一的随机映射算法

  在这里,我们主要使用工程创意来使用++计时器的实现。

  创建一个表格,其中将表放在该表中,例如000000-999999。

  设计的计时器逻辑是:每1小时,阅读以键入键的键。如果不存在,请从数据库中随机读取1,000个用户ID以以队列的形式存储它。如果队列中的ID数小于或等于200,则从数据库中随机获得获取1,000个用户ID。

  当用户ID由业务端生成时,内部的值被用作用户ID。由于天然单线线程结构的存在,因此无需担心在高并发下获得相同的ID。

  以上是有关如何设计数百万个数字用户ID的一些未成熟解决方案。他们被砖块吸引。欢迎提出在行业中提出缺陷或更加成熟和完美的情况。