Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Любое приложение, работающее в облаке или взаимодействующее с удаленными службами и ресурсами, должно иметь возможность обрабатывать временные ошибки. Обычно эти приложения могут столкнуться с ошибками из-за мгновенной потери сетевого подключения, времени ожидания запроса, когда служба или ресурс занята или другие факторы. Разработчики должны создавать приложения для прозрачной обработки временных сбоев, чтобы повысить стабильность и устойчивость.
В этой статье вы узнаете, как использовать клиентскую библиотеку Azure Storage для JavaScript, чтобы настроить политику повторных попыток для приложения, подключающегося к Blob Storage Azure. Политики повторных попыток определяют, как приложение обрабатывает неудачные запросы, и всегда должны быть настроены на соответствие бизнес-требованиям приложения и характеру сбоя.
Настройка параметров повтора
Политики повторных попыток для хранилища BLOB-объектов настраиваются программно, предлагая контроль над применением параметров повторных попыток к различным запросам и сценариям службы. Например, веб-приложение, которое выдает запросы на основе взаимодействия с пользователем, может реализовать политику с меньшим количеством повторных попыток и более короткими задержками, чтобы повысить скорость реагирования и уведомить пользователя о возникновении ошибки. Кроме того, приложение или компонент, выполняющий пакетные запросы в фоновом режиме, может увеличить количество повторных попыток и использовать стратегию экспоненциальной задержки, чтобы обеспечивать успешное выполнение запроса.
В следующей таблице перечислены параметры, доступные при создании экземпляра StorageRetryOptions , а также тип, краткое описание и значение по умолчанию при отсутствии изменений. Вам следует активно настраивать значения этих свойств в соответствии с потребностями вашего приложения.
Свойство | Тип | Описание | Значение по умолчанию |
---|---|---|---|
maxRetryDelayInMs |
number |
Необязательно. Указывает максимальную задержку, разрешенную перед повтором операции. | 120 секунд (или 120 * 1000 мс) |
maxTries |
number |
Необязательно. Максимальное количество повторных попыток перед отказом. | 4 |
retryDelayInMs |
number |
Необязательно. Указывает объем задержки, используемой перед повторным повтором операции. | 4 секунды (или 4 * 1000 мс) |
retryPolicyType |
Тип политики повторных попыток хранения | Необязательно. StorageRetryPolicyType по умолчанию — это экспоненциальная политика повторных попыток. | StorageRetryPolicyType.Exponential |
secondaryHost |
string |
Необязательно. Вторичная конечная точка учетной записи хранения, на которую отправляются повторные запросы. Прежде чем задать это значение, необходимо понять проблемы, связанные с чтением устаревших и потенциально несогласованных данных. Дополнительные сведения см. в статье "Использование геоизбыточности для разработки высокодоступных приложений". | нет |
tryTimeoutInMs |
number |
Необязательно. Максимально допустимое время до отмены запроса и признания его неудачным. Это время ожидания применяется к запросу операции и должно основываться на пропускной способности, доступной для хост-компьютера и близости к службе хранилища. | Значение 0 или неопределенное значение означает отсутствие тайм-аута по умолчанию на клиенте, и используется тайм-аут по умолчанию на стороне сервера. Дополнительные сведения см. в разделе о времени ожидания для операций службы BLOB. |
В следующем примере кода мы настраиваем параметры повторных попыток в экземпляре StorageRetryOptions, передаем его в новый экземпляр StoragePipelineOptions и передаем pipeline
при создании BlobServiceClient
.
const options = {
retryOptions: {
maxTries: 4,
retryDelayInMs: 3 * 1000,
maxRetryDelayInMs: 120 * 1000,
retryPolicyType: StorageRetryPolicyType.EXPONENTIAL
},
};
const pipeline = newPipeline(credential, options);
const blobServiceClient = new BlobServiceClient(
`https://${accountName}.blob.core.windows.net`,
credential,
pipeline
);
В этом примере каждый запрос службы, выданный BlobServiceClient
объектом, использует параметры повторных попыток, как определено в retryOptions
. Эта политика применяется к клиентским запросам. Вы можете настроить различные стратегии повторных попыток для клиентов служб в зависимости от потребностей приложения.
Связанный контент
- Рекомендации по архитектуре и общие рекомендации по политикам повторных попыток см. в разделе "Обработка временных ошибок".
- Рекомендации по реализации шаблона повторных попыток для временных сбоев см. в разделе Шаблон повторных попыток.