微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

简短的唯一ID

我正在devise一个HTTP服务,每天可以处理多达5亿个请求(由多个独立的机器服务)。

对于每个请求,我必须生成唯一的ID并将其返回给用户。 在10分钟的窗口内,ID必须是100%唯一的。 (首选1天,全球唯一的ID是理想的。)不需要服务器 – 服务器通信来生成该ID。

愚蠢的假会话的例子:

客户端:GET / foo

服务器:内容types:文本/ XML

<根>

<ID> ab9d1972-2844-11e0-86b2-000c29544403 </ ID>

<other_data />

</根>

在上一代这个HTTP服务中,我使用了UUID。

用于C代码用户界面

强制机器从Live CD启动

Windows应用程序应该使用哪些组合键来避免冲突?

Windows如何计算电池的剩余时间?

我怎样才能区分同一个文件的两个部分?

我对UUID很满意,但是有一个问题:它们太长了。 在这样的请求数量下,这个额外的大小在磁盘空间中明显浪费了日志文件

创build一个简短但唯一的标识符的最好方法是什么? 为了使事情变得有价值,我想algorithm应该产生最多一半的UUID长度,而整天都是唯一的(10分钟应该更短)。

理想情况下,build议的algorithm将在普通C中具有理智,轻量级的生产质量实现。

更新:生成的ID在GET请求中传递时不应该要求URI编码。

应用程序来帮助解释一个GUI

开源的回声服务器

如果两个没有线程模型的COM类在一个进程内COM服务器中实现,会发生什么?

Thread Quantum:如何计算它

在Windows中的桌面之间移动应用程序

给每台机器一个唯一的前缀。 给每台机器一个计数器。 要生成一个ID,增加计数器,并将其值附加到前缀。

如果你想混淆ID,加密它们 – 密码一个可逆转换,所以将其应用于唯一值将产生独特的值。

一些想法:

每天5亿个请求。 真?

使用UUID。

如果需要,不要使用HTTP(因为这是更重要的开销),并以二进制形式传输UUID。

你需要一定数量的字节来保证你的服务器返回一个真正唯一的 ID。

如何使用UDP?

无论如何,你想做什么?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐