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

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

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

最佳答案

我的方法是初始化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在内部处理此问题的方法,那真是太好了!

关于go - 如何配置客户端从dax回退到直接dynamodb?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51785541/

10-11 09:20