Периодический доступ к Azure файловым ресурсам? - PullRequest
0 голосов
/ 06 августа 2020

У нас есть несколько приложений, которые работают на виртуальной машине в Azure, используя Azure файловые ресурсы для диска.

Мы получаем отчеты от операторов о том, что они периодически сталкиваются с проблемами с нашими приложения не могут получить доступ к диску. Что в течение шестидесяти или около того секунд любая попытка доступа к диску просто не удастся.

Итак, нам было поручено добавить своего рода механизм повтора к доступу к файлам в наших приложениях.

Чтобы было интересно, некоторые из них написаны на C#, некоторые на C ++, а некоторые на Java.

Задача при сбое - немного подождать и повторить попытку, а затем, если мы не удается прервать работу приложения и выйти за установленный промежуток времени.

Начнем с создания класса stati c, содержащего методы, которые обертывают низкоуровневые функции файловой системы. Замените все вызовы :: fopen (), например, вызовами FileWrapper :: fopen ().

А затем добавьте logi повтора c в FileWrapper :: fopen ().

Проблема, с которой я столкнулся, заключается в том, что я не знаю, как определить, что является ошибкой.

Предположим, например, я выполняю fopen () для файла. Файл может существовать, а может и не существовать. Иногда я не ожидаю его существования, иногда - да. Ошибка fopen () может означать, что файловая система Azure недоступна, это может просто означать, что такого файла нет.

И если мы будем рассматривать каждый сбой как системный сбой и завершать работу, как мы попросили сделать, мы сразу же закроем наши приложения при запуске.

Мне кажется, что весь подход неправильный.

И у нас нет информации о том, что на самом деле происходит когда эти инциденты происходят, потому что, как ни странно, в файлы журнала ничего не записывается.

У кого-нибудь возникали проблемы с Azure файловыми системами, которые периодически недоступны?

Есть идеи, как обнаружить что это произошло в C#, C ++ и Java?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...