Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Любое приложение, работающее в облаке или взаимодействующее с удаленными службами и ресурсами, должно иметь возможность обрабатывать временные ошибки. Обычно эти приложения могут столкнуться с ошибками из-за мгновенной потери сетевого подключения, времени ожидания запроса, когда служба или ресурс занята или другие факторы. Разработчики должны создавать приложения для прозрачной обработки временных сбоев, чтобы повысить стабильность и устойчивость.
В этой статье вы узнаете, как использовать клиентскую библиотеку 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. Эта политика применяется к клиентским запросам. Вы можете настроить различные стратегии повторных попыток для клиентов служб в зависимости от потребностей приложения.
Связанный контент
- Рекомендации по архитектуре и общие рекомендации по политикам повторных попыток см. в разделе "Обработка временных ошибок".
- Рекомендации по реализации шаблона повторных попыток для временных сбоев см. в разделе Шаблон повторных попыток.