jWa*_*ng1 5 java uuid aws-lambda
由于 lambda 是无状态的并且多个实例可以同时运行,因此基于时间戳生成 id 可能不是一个好主意。我目前使用的是 UUIDv1。我知道生成具有相同时间戳的相同 ID 的机会实际上是不可能的。对于我的应用程序来说,它也足够独特。出于好奇,我正在考虑如何在 aws lambda 上生成真正数学上唯一的 id。
UUID v1 使用节点来区分使用相同时间戳生成的 id。随机数或 MAC 地址(对于虚拟实例来说是个坏主意)用于创建节点 ID。
如果我的活动 lambda 实例有一个唯一的 id,我将能够生成真正唯一的 id。上下文对象中有一个 awsRequestId 但它看起来像是另一个基于时间戳的 UUID。
也许你们有更多的想法?
AWS 拉姆达:
System.getenv("AWS_LAMBDA_LOG_STREAM_NAME").replaceFirst(".*?(?=\\w+$)", EMPTY)
Run Code Online (Sandbox Code Playgroud)
AWS EC2:
httpGet http://169.254.169.254/latest/meta-data/instance-id
Run Code Online (Sandbox Code Playgroud)
AWS 弹性云服务器:
httpGet http://localhost:51678/v1/metadata
Run Code Online (Sandbox Code Playgroud)