Я изучаю способы сделать веб-приложение высокой доступности в Azure с помощью PaaS. App Service
и DBaaS SQL Database
предложения.
Standard
базы данных включают Standard Geo-Replication
для автоматической репликации базы данных в предварительно спаренный регион Azure. Когда я создаю базу данных и настраиваю георепликацию, мне необходимо создать новый сервер вместе с новой базой данных. Это означает, что каждый сервер имеет собственное DNS-имя (например, mySqlServer.database.windows.net
против mySqlServerFailover.database.windows.net
).
Я бы хотел мой App Service
использовать одно DNS-имя, которое автоматически указывает на любую доступную базу данных. Желательно, чтобы это DNS-имя также было геореплицировано, что гарантирует, что даже если весь центр обработки данных выйдет из строя, мой сайт все равно будет доступен без вмешательства. Я бы предпочел не менять настройки в моем web.config
файл при отказе базы данных.
Есть ли варианты? Или мне нужно, чтобы кто-то был готов переключить сайт во время аварийного переключения?
В качестве DNS-имени вашего сайта Диспетчер трафика Azure Это то, что вам нужно для автоматического переключения Azure на второе место в случае отказа центра обработки данных. Вы можете настроить диспетчер трафика на балансировку нагрузки между регионами в конфигурации «активный / активный» или на переключение при отказе в конфигурации «активный / пассивный».
С URL вашей базы данных это становится немного сложнее, поскольку у вас не может быть внутреннего баланса нагрузки между регионами. Вы эффективно смотрите на то, чтобы во втором центре обработки данных была вторая служба приложений, указывающая на базу данных аварийного восстановления, а затем с помощью диспетчера трафика для балансировки между двумя веб-приложениями. В аварийном переключении менеджер трафика направляет трафик к месту аварийного восстановления, а приложение настроено для взаимодействия с базой данных аварийного восстановления.