Гео-репликация и маршрутизация трафика на сайте ASP .Net 5, размещенном на Azure, и поддержка базы данных SQL на разных континентах.

Я создал веб-сайт ASP .Net 5 и веб-API, а также схему для базы данных SQL. Теперь я хочу выйти за рамки тестирования и развернуть их в Azure. Я хотел бы реплицировать весь сервис (ASP и SQL) на разных континентах, чтобы люди, использующие наше приложение в США, направлялись на серверы в США, пользователи, использующие наше приложение в Европе, направлялись на серверы в Европе и т. Д. Затем что-то будет синхронизировать копию базы данных другого континента.

Я не могу найти документацию о том, как это сделать. Я нашел документацию по георепликации SQL-сервера в Azure, но она предназначена для людей, которые хотят выполнять безопасное резервное копирование своих данных в другом месте (например, для аварийного восстановления), в то время как мне нужно несколько рабочих мест, принимающих CRUD на каждом место.

Как мне это сделать? Как сохранить движение баз данных к синхронизации и как перенаправить трафик из приложения в ближайшую копию службы Azure?

(NB. Я не уверен, что вопросы, которые сводятся к запросам на поиск документации, соответствуют переполнению стека, приносим извинения, если это не приветствуется.)

1 ответ

Решение

Моя статья Разработка приложения для аварийного восстановления в облаке с использованием гео-репликации в базе данных SQL должна помочь.

В этой статье я рассмотрю три шаблона проектирования аварийного восстановления:

  1. Активно-пассивное развертывание для аварийного восстановления в облаке с базой данных
  2. Активно-активное развертывание для балансировки нагрузки приложений
  3. Активно-пассивное развертывание для сохранения данных

и это второй из них, который охватывает ваш сценарий.

Вот параграф из статьи, которая обрисовывает в общих чертах образец.

В этом шаблоне приложение переключается в режим только для чтения при подключении к вторичной базе данных. Логика приложения в первичном регионе размещается совместно с первичной базой данных и работает в режиме чтения-записи (RW), логика приложения во вторичном регионе размещается совместно с вторичной базой данных и готова к работе в режиме только чтения (RO), Диспетчер трафика должен быть настроен на использование отказоустойчивой маршрутизации с включенным мониторингом конечных точек для обоих экземпляров приложения.

И вот схема, суммирующая архитектуру, с которой вы закончите, если будете следовать советам в статье.

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

Там больше деталей в моей статье; если у вас есть дополнительные вопросы, не стесняйтесь писать, и я буду следить.

Другие вопросы по тегам