作者:丹_jie | 来源:互联网 | 2023-07-24 11:37
我正在使用kafka使用者和消息作为事件数据来调用五个lambda。这些lambda同时读取,更新,写入和删除dynamo数据库中的数据。因此,数据不一致。一个lambda从数据库获取数据,然后更新数据,但与此同时,另一个lambda获取较旧的数据并更新数据,从而导致数据不一致。是否有解决方法?
DynamoDB支持conditional updates,请参见announcement和Java example。
如果使用Java,请查看Optimistic Locking选项。
,
您可以使用高度一致的读取,以确保读取始终反映读取之前发生的所有成功写入。
DynamoDB使用最终一致的读取,除非您指定
除此以外。读取操作(例如GetItem,Query和Scan)提供
ConsistentRead参数。如果将此参数设置为true,
DynamoDB在操作过程中使用高度一致的读取。
完整的讨论请参见https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadConsistency.html,包括要考虑的一些缺点。
另请参见Amazon - DynamoDB Strong consistent reads,Are they latest and how?