[英]How to support transactions in dynamoDB with javascript aws-sdk?
我们有一个用node.js编写的微服务,我们使用dynamoDB进行数据存储。 值以json格式存储在密钥中。 在更新服务调用中,我们获取密钥的值,更新json并保存它。
最近,我们遇到了一个条件,其中2个调用想要更新相同密钥的值。 所以先调用读取值,然后第二次调用读取值,首先调用更新并保存,然后第二次更新并保存值(通常情况下的竞争条件),所以在这种情况下,第一次调用更新没有反映在DB中。
为了解决这个问题,我研究了一下并了解了dynamoDB的事务库。 但它似乎还没有在node-js sdk中。
此外,我搜索了版本控制和乐观锁定,但我再次在node-js sdk中找不到对此的支持。
有这个更新吗? 如果它的支持在不久的将来不会出现在node-js sdk中,还有哪些其他选择呢? 什么是处理这个问题的最佳方法?
刚刚在2018年发布re:invent,请参阅javascript sdk用法中的本机事务支持: https : //aws.amazon.com/blogs/aws/new-amazon-dynamodb-transactions/
最近有一个npm包提供了DynamoDb乐观锁定的实现。 见Dynameh 。 你可以检查一下。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.