如何将客户端配置为从dax退回到直接dynamodb?

时间:2018-08-10 11:28:37

标签: go amazon-dynamodb amazon-dynamodb-dax

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

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

但是,如果 之后DAX不可用,则服务已初始化的请求将开始失败。我不相信DAX具有100%的正常运行时间,因此在使用DAX初始化服务之后,建议的处理DAX故障的方法是什么?

1 个答案:

答案 0 :(得分:0)

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

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

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

如果有人知道DAX在内部处理此问题的方法,那真是太好了!