Как настроить клиента на откат с dax на прямой динамодб?

Как лучше всего настроить мой (golang) клиент, использующий DAX, для возврата к DynamoDB в случае возникновения проблем с DAX?

Во время инициализации моя служба проверяет, доступен ли DAX, и если это так, он инициирует свою конфигурацию для отправки запросов в DAX. Если DAX недоступен при запуске, он просто пропустит DAX и выполнит прямую DynamoDB.

Однако, если DAX становится недоступным, после инициализированные запросы службы начнут давать сбой. Я не верю, что DAX будет иметь 100% время безотказной работы, поэтому каков рекомендуемый способ обработки сбоев DAX после инициализации службы с помощью DAX?

Проверьте наличие http.StatusInternalServerError, если запрос не соответствует и служба недоступна, если это так, то тайм-аут запроса и получение данных из Dynamodb

Himanshu 10.08.2018 13:34
Создание API ввода вопросов на разных языках программирования (Python, PHP, Go и Node.js)
Создание API ввода вопросов на разных языках программирования (Python, PHP, Go и Node.js)
API ввода вопросов - это полезный инструмент для интеграции моделей машинного обучения, таких как ChatGPT, в приложения, требующие обработки...
1
1
255
1

Ответы 1

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

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