У нас есть веб-решение, которое мы продаем, и оно поставляется с 1 выделенной виртуальной машиной Azure, содержащей все необходимое для запуска приложения:
Однако у конкретного клиента есть требование пользователя запустить его приложение в режиме высокой доступности. Он хочет, чтобы, когда один сервер выходит из строя, другой должен работать и наоборот.
Я совершенно новичок в настройках балансировки нагрузки / высокой доступности, и я знаю, что Azure поддерживает балансировку нагрузки, но я озадачен, как я могу заставить это работать. Так же просто создать 2 сервера с указанными выше настройками, а затем настроить функцию высокой доступности? Меня беспокоит, как я могу синхронизировать данные веб-сайта и данные SQL Server между двумя серверами? Особенно последнее.
Или было бы проще, если бы я использовал сервер SQL Azure вместо локального сервера SQL? Или, возможно, введение дополнительных серверов вместо 2?
Вы можете настроить StarWind VSAN всего на двух виртуальных машинах и получить настоящее решение для хранения данных с высокой доступностью в облаке. Я считаю это руководство должно быть полезно для вас, проверьте это.
Вы можете легко создать группу высокой доступности с теми же серверами, а затем установить эту группу высокой доступности как внутренний пул в LB. Рекомендуется использовать базу данных SQL Azure, поскольку в Azure есть множество встроенных функций платформы, которые поддерживают приложения с высокой доступностью. Однако использовать локальный SQL-сервер на одной виртуальной машине Azure легко, и вы можете получить быстрый ответ, поскольку приложение и база данных размещаются на одной виртуальной машине Azure.
Для базы данных SQL Azure данные синхронно реплицируются в пределах региона. Кроме того, для достижения высокой доступности с виртуальными машинами необходимо использовать группы доступности, которые выполняют те же функции, что и домены сбоя и обновления.
Обратитесь к этому док.
Во-первых, рекомендуется использовать Azure SQL, настройка SQL-сервера самостоятельно небезопасна и не является «стандартной». Azure SQL предоставляет множество дополнительных функций, включая высокую доступность и аварийное восстановление. Используйте Azure SQL и настройте группу отработки отказа в соответствии с док. Теперь на вашем уровне данных включена высокая доступность.
Во-вторых, предположим, что вы перенесли свою базу данных в Azure SQL, создайте новую виртуальную машину в той же виртуальной сети, что и ваша текущая виртуальная машина. И запуск того же приложения в новой виртуальной машине. Создайте балансировщик нагрузки и добавьте эти две виртуальные машины в внутренний пул. Теперь на уровне вашего приложения включена высокая доступность.