如果 DAX 出现问题,配置使用 DAX 回退到 DynamoDB 的(golang)客户端的最佳方法是什么?
在初始化期间,我的服务会检查 DAX 是否可用,如果可用,它将初始化其配置以向 DAX 发送请求。如果在我初始化时 DAX 不可用,那么它将跳过 DAX 并直接执行 DynamoDB。
但是,如果 DAX在服务初始化后变得不可用,请求将开始失败。我不相信 DAX 有 100% 的正常运行时间,那么在使用 DAX 初始化服务后处理 DAX 故障的推荐方法是什么?
如果 DAX 出现问题,配置使用 DAX 回退到 DynamoDB 的(golang)客户端的最佳方法是什么?
在初始化期间,我的服务会检查 DAX 是否可用,如果可用,它将初始化其配置以向 DAX 发送请求。如果在我初始化时 DAX 不可用,那么它将跳过 DAX 并直接执行 DynamoDB。
但是,如果 DAX在服务初始化后变得不可用,请求将开始失败。我不相信 DAX 有 100% 的正常运行时间,那么在使用 DAX 初始化服务后处理 DAX 故障的推荐方法是什么?
我的方法是同时初始化 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 在内部处理这个问题的方法,那就太好了!