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