首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Node.js从AWS Lambda函数生成唯一主键的安全方法

使用Node.js从AWS Lambda函数生成唯一主键的安全方法
EN

Stack Overflow用户
提问于 2020-06-08 02:03:46
回答 1查看 405关注 0票数 2

我正在使用AWS Lambda和Node.js向我的DynamoDB表中插入项目,并且需要为项目生成唯一的I。

我最大的担忧是AWS Lambda底层基础设施中的熵,以及与每秒大量ids发生冲突的风险。

我正在使用nanoid,但不确定它是否符合这个要求。我使用的代码是这样的:

代码语言:javascript
复制
const { customAlphabet } = require("nanoid");
const alphabet = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
const idSize = 20;
const nanoid = customAlphabet(alphabet, idSize);
const id = nanoid(); //=> "scLV4Vc7OrJ2Vpib9rz6"

非类群是如何产生随机性的?在AWS Lambda函数(高熵和低冲突变化)中使用是否安全?如果不是,还有其他选择吗?

EN

回答 1

Stack Overflow用户

发布于 2020-06-08 02:12:20

摘自nanoid documentation

为了有十亿分之一的复制机会,必须生成103万亿版本4 ID。

使用DynamoDB总是有冲突的风险,因为它是BASE,所以您需要在一致性和性能之间进行交换。

如果您能够增加您的ID的字符串长度,这将使您更少的机会发生冲突。

如果您确实想要使用DynamoDB,但又想增加一致性,那么可以添加transactional support。这将增加少量的性能开销。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62249591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档