Решение высокой доступности Azure с синхронизацией данных веб-сайта и SQL-сервера

Решение высокой доступности Azure с синхронизацией данных веб-сайта и SQL-сервера

У нас есть продаваемое нами веб-решение, которое поставляется с 1 выделенной виртуальной машиной Azure, содержащей все необходимое для запуска приложения:

  • Веб-приложение ASP.NET
  • Производственная среда
  • среда обеспечения качества
  • SQL-сервер, содержащий данные для среды PROD и QA

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

Я полный новичок в настройках балансировки нагрузки/высокой доступности и знаю, что Azure поддерживает балансировку нагрузки, но я озадачен, как я могу заставить это работать. Так же просто создать 2 сервера с указанной выше настройкой, а затем настроить функциональность высокой доступности? Меня беспокоит, как я синхронизирую данные веб-сайта и данные SQL Server между 2 серверами? Особенно последний.

Или было бы проще использовать сервер Azure SQL вместо локального сервера SQL? Или, может быть, ввести дополнительные серверы вместо 2?

решение1

Во-первых, рекомендуется использовать Azure SQL, настройка SQL-сервера самостоятельно не является безопасной и «стандартной». Azure SQL предоставляет вам множество дополнительных функций, включая высокую доступность и аварийное восстановление. Используйте Azure SQL и настройте группу отказоустойчивости в соответствии сдок. Теперь ваш уровень данных имеет высокую доступность.

Во-вторых, предположим, что вы перенесли свою базу данных в Azure SQL, создали новую виртуальную машину в той же виртуальной сети, что и ваша текущая виртуальная машина. И запустили то же приложение в новой виртуальной машине. Создайте балансировщик нагрузки и добавьте эти две виртуальные машины в пул бэкэнда. Теперь ваш прикладной уровень имеет высокую доступность.

решение2

Вы можете настроить StarWind VSAN на основе всего двух виртуальных машин и получить настоящее высокодоступное решение для хранения данных в облаке. Я считаю,это руководстводолжно быть вам полезно, проверьте.

решение3

Вы можете легко создать набор высокой доступности с теми же серверами, а затем установить этот набор высокой доступности как внутренний пул в LB. Рекомендуется использовать базу данных Azure SQL, поскольку Azure имеет множество встроенных функций платформы, которые поддерживают высокодоступные приложения. Однако легко использовать локальный сервер SQL на той же виртуальной машине Azure, и вы можете получить быстрый ответ, поскольку приложение и база данных размещены на той же виртуальной машине Azure.

Для базы данных Azure SQL данные синхронно реплицируются в пределах региона. Кроме того, для достижения высокой доступности с помощью виртуальных машин необходимо использовать наборы доступности, которые выполняют функцию, аналогичную доменам отказов и обновлений.

Ссылайтесь на этодок.

Связанный контент