1

如果 DAX 出现问题,配置使用 DAX 回退到 DynamoDB 的(golang)客户端的最佳方法是什么?

在初始化期间,我的服务会检查 DAX 是否可用,如果可用,它将初始化其配置以向 DAX 发送请求。如果在我初始化时 DAX 不可用,那么它将跳过 DAX 并直接执行 DynamoDB。

但是,如果 DAX在服务初始化变得不可用,请求将开始失败。我不相信 DAX 有 100% 的正常运行时间,那么在使用 DAX 初始化服务后处理 DAX 故障的推荐方法是什么?

4

1 回答 1

0

我的方法是同时初始化 DAX 客户端和 DynamoDB 客户端,并将我的所有 DAX 调用包装在回退到 Dynamo 客户端的 try-catch 块中。

我正在使用 DynamoDBMapper(在 Java 中),我的代码如下所示:

Object obj;
try {
    obj = daxMappedClient.load(Object.class, key);
    ...
} catch (Exception e) { // DAX failed here
    obj = dynamoMappedClient.load(Object.class, key);
    ...
}

如果有人知道 DAX 在内部处理这个问题的方法,那就太好了!

于 2019-01-29T12:49:16.520 回答