![](/img/trans.png)
[英]Assign a unique id to every request in a spring-based web application
[英]Algorithm to generate global (Application scoped) unique request id based on HttpServletRequest?
我有基于HttpServletRequest生成全局唯一请求ID的问题。 我需要确保生成的id在Application范围内是唯一的。 尽管重复的可能性非常低,但Java UUID或Random并不能保证我想要的东西。
有人有什么想法吗? 谢谢,
如果你必须绝对确定你没有复制,你可以使用自动增量数据库ID,但鉴于使用UUID重复的机率极低,我不认为它证明了成本。
Random
肯定不保证唯一性,但UUID
绝对做到了。 所以你的担忧毫无意义。 即使您的硬件能够每秒服务数十亿个HTTP请求,您也只能在100年后才能复制50%的机会。
如果你真的有一个硬头,只需检查同步块,如果应用程序范围包含这样的密钥,如果是,那么只需生成另一个。 等等。 这样你甚至可以使用Random
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.