Как настроить клиент для перехода от Dax к прямой DynamodB?
Каков наилучший способ настроить мой (golang) клиент, который использует DAX для перехода к DynamoDB, если у DAX есть проблемы?
Во время инициализации моя служба проверяет, доступен ли DAX и, если он есть, запускает конфигурацию для отправки запросов в DAX. Если DAX недоступен при инициализации, он просто пропустит DAX и выполнит прямую DynamoDB.
Однако если DAX станет недоступным после того, как служба инициализировала запросы, произойдет сбой. Я не доверяю DAX на 100% безотказной работы, так каков рекомендуемый способ обработки сбоев DAX после инициализации сервиса с DAX?
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 справится с этим внутри, было бы здорово узнать!