Предотвращение операционного риска с помощью SQL-зависимой архитектуры
В настоящее время я работаю над очень важным инструментом, который сильно зависит от базы данных MySQL. Это, в частности, означает, что если сервер SQL когда-нибудь выйдет из строя, все пользователи не смогут использовать приложение, поскольку оно извлекает их конфигурацию, хранящуюся в базе данных, и запускает компоненты, определенные в БД, и для инструмента абсолютно необходима конфигурация быть запущенным.
Поэтому мне было интересно, каковы мои варианты ограничения этого риска, т.е. сделать приложение работоспособным, даже если база данных не работает. Должен ли я определить резервную базу данных, например? Это первый раз, когда я работаю с таким критическим аспектом, и я не был знаком с этим видом управления рисками.
Любые идеи будут приветствоваться
1 ответ
Приложение не несет ответственности за реализацию отказоустойчивого бэкэнда SQL. Приложение должно проверить, работает ли SQL-сервер, и если нет, оно может на некоторое время повторить последний оператор SQL и распечатать печальное сообщение красным цветом, если произойдет сбой. Если есть больше серверов SQL (hotswap или что-то еще), приложение может автоматически переключаться между ними. Это максимум, что приложение может сделать в этой теме.
Я думаю, что есть множество решений и идей для настройки отказоустойчивого SQL-сервера или фермы, но это выходит за рамки (я имею в виду программирование).