系统设计问题(Twitter雪花)

问题描述 投票:0回答:1

[companyA,我们想为每种类型的事件分配一个唯一的ID(例如,给每个用户注册一个新的用户ID,或者为每次发生的新旅行分配一个新的ID)。除了唯一性要求外,我们还有其他要求:

  1. 系统必须具有高性能和可扩展性,它可能需要处理大量RPS(例如,我们每天有14MM +次旅行,而高峰日的旅行次数甚至更多)
  2. 系统也必须具有很高的可用性,并且没有SPOF等。
  3. ID应该大致是顺序的。但我们可以接受[>]
  4. 生成,表示ID不必像1,2,3,4这样严格顺序。id空间应该足够大-例如64位数字就可以,但32位数字就不能(companyA的行程超过10B或100B,32位数字不够大)]

[companyA,我们想为每种类型的事件分配一个唯一的ID(例如,给每个用户注册一个新的用户ID,或者为每次发生的新旅行分配一个新的ID)。除了...

mysql architecture system uuid bit
1个回答
0
投票

您可以尝试使用Time based GUID,它是部分从时间戳生成的。

© www.soinside.com 2019 - 2024. All rights reserved.