Node.js 弹性豆茎上的Nodejs Shortid

Node.js 弹性豆茎上的Nodejs Shortid,node.js,amazon-web-services,amazon-elastic-beanstalk,Node.js,Amazon Web Services,Amazon Elastic Beanstalk,我想使用npm的shortid模块在运行于AWS Elastic Beanstalk的应用程序中生成唯一的URL。文档中说,应该使用shortid为node.js的每个实例设置一个唯一的worker id,以保证唯一性。有没有简单的方法将0到N之间的ID分配给EB实例 到目前为止,我能想到的唯一解决方案是使用DynamoDB存储正在运行的实例列表或可用id列表,并在新node.js服务器启动/关闭时进行更新,但在我看来,必须有一种更简单的方法来做到这一点,是吗?到目前为止找不到关于此的更多信息

我想使用npm的shortid模块在运行于AWS Elastic Beanstalk的应用程序中生成唯一的URL。文档中说,应该使用shortid为node.js的每个实例设置一个唯一的worker id,以保证唯一性。有没有简单的方法将0到N之间的ID分配给EB实例

到目前为止,我能想到的唯一解决方案是使用DynamoDB存储正在运行的实例列表或可用id列表,并在新node.js服务器启动/关闭时进行更新,但在我看来,必须有一种更简单的方法来做到这一点,是吗?到目前为止找不到关于此的更多信息


谢谢

您可以简单地滚动一个随机数并使用它。工人编号不必是连续的,只要是唯一的。
或者,您可以使用ec2实例id。尽管未记录,但以下内容将为您获取当前计算机的实例id:

curl-shttp://169.254.169.254/latest/meta-data/instance-id

尽管如此,仍然不能保证它们的唯一性,只是使它们不太可能一致。此外,他们说,工人人数最好少于16人,因此,即使只有几名工人,也有很大的可能发生碰撞。我希望AWS能在某处隐藏一些类似的信息:/@laky,一个随机数怎么会错过你的目标呢。只需滚动一个介于0和UINT_MAX之间的数字。获得相同数字的机会微乎其微。尽管如此,我还是根据您的请求用
隐藏的
信息更新了我的答案:/