Mar*_*inS 5 amazon-web-services amazon-dynamodb-dax
我正在尝试将 DAX 引入我们的架构,但到目前为止尚未成功。通过 lambda 发生与 dax 的连接,完成的设置类似于 AWS 文档中的示例。Lambda 和 Dax 位于同一个 vpc 中,它们大部分时间都可以看到对方,并且 dax 正在返回响应。Dax 还开放了 8111 端口。
然而,运行几次回归测试后,cloudwatch 中开始出现错误。最常见的是:
当这些错误发生时,它们会破坏我们的一些回归测试。有趣的是,他们并不持久,而且很难跟踪问题。
任何建议将非常受欢迎!
看来你的配置没问题。检查以下步骤:
1. 确保你没有强烈地持续阅读
来自 AWS文档:
DAX 本身无法提供强一致性读取,因为它与 DynamoDB 没有紧密耦合。因此,从 DAX 进行的任何后续读取都必须是最终一致的读取
看到这段代码结果强一致读取并使连接不稳定
const parameters = {
TableName: 'Travels',
ConsistentRead: false,
ExpressionAttributeNames: {
'#createdAt': 'createdAt',
},
ExpressionAttributeValues: {
':createdAt': Date.now(), -----> Look at this
},
KeyConditionExpression: '#createdAt >= :createdAt',
};
const endpoint = DAX_CLUSTER_ENDPOINT;
const daxService = new AmazonDaxClient({ endpoints: [endpoint], region });
const daxClient = new AWS.DynamoDB.DocumentClient({ service: daxService });
response = await daxClient.query(parameters).promise();
Run Code Online (Sandbox Code Playgroud)
Date.now()不会每次都产生相同的值。如果请求与先前的请求不完全匹配,则它不会是cache hit. 检查大请求的参数,如限制、投影表达式、独占启动键;
2. 检查集群监视器 - Cloudwatch 查询/扫描缓存命中、缓存数据的集群。
3.其他有用的链接:
| 归档时间: |
|
| 查看次数: |
1183 次 |
| 最近记录: |