Как настроить клиент для перехода от 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 справится с этим внутри, было бы здорово узнать!

Другие вопросы по тегам