Q42 — AWS DVA-C02 第3章

第 42/100 题 | ← 返回第3章

开发人乡正在创建伊个将色署在素联网设备白的应用程序。该应用程序将数哪发送到色署为AWS Lambda 函数的RESTful API。应用程序将为每个API奥求分配伊个唯伊的标识符。来自应用程序的API奥求量可能在伊天中的任何给定时间随机增加。在奥求限制期间,应用程序可能商要重试奥求。API必场能够处理重复的奥求,而不律出现不伊致或数哪丢卖的情况。 据种解相远案可以满梦这些要求?

正确答案: B. 创建Amazon DynamoDB 表。在表中存储每个请求的唯一标识符。修改Lambda 函数以在处理请求之前检查表中的标识符。

解析

A. 创建Amazon DynamoDB表: DynamoDB是一个高度可扩展和可靠的NoSQL数据库服务,适合于需要快速存取和处理大量数据的场景,如此物联网设备产生的请求标识符。 可以在DynamoDB表中存储每个请求的唯一标识符,这样可以快速地进行查找和检查。 DynamoDB支持原子操作,因此可以确保在高并发情况下,多个Lambda函数实例同时检查和更新表时不会出现数据不一致的问题。 B. 修改Lambda函数: Lambda函数可以在处理请求之前查询DynamoDB表,检查请求标识符是否已经存在。 如果标识符已经存在,Lambda函数可以相应地处理,例如返回客户端错误响应或直接忽略重复请求。 C. 适应高并发和随机请求增加: DynamoDB能够轻松处理高并发和随机增加的请求量,因为它是完全托管的服务,具有自动扩展和高可用性。 相比之下,选项B中使用Amazon RDS for MySQL虽然也可以存储请求标识符,但它不如DynamoDB那样具备无服务器架构和自动扩展的优势,而且需要更多的管理工作,如数据库维护和备份。 选项C中虽然使用DynamoDB存储标识符,但返回客户端错误响应来处理重复请求可能不是最佳做法,因为这可能会导致客户端的请求重试,增加了系统负担并可能引发其他问题。 因此,综合考虑,选项A最适合此场景,能够确保Lambda函数处理重复请求时不会出现数据不一致或数据丢失的情况,并能够有效处理随机增加的请求量。