Гео-репликация и маршрутизация трафика на сайте ASP .Net 5, размещенном на Azure, и поддержка базы данных SQL на разных континентах.
Я создал веб-сайт ASP .Net 5 и веб-API, а также схему для базы данных SQL. Теперь я хочу выйти за рамки тестирования и развернуть их в Azure. Я хотел бы реплицировать весь сервис (ASP и SQL) на разных континентах, чтобы люди, использующие наше приложение в США, направлялись на серверы в США, пользователи, использующие наше приложение в Европе, направлялись на серверы в Европе и т. Д. Затем что-то будет синхронизировать копию базы данных другого континента.
Я не могу найти документацию о том, как это сделать. Я нашел документацию по георепликации SQL-сервера в Azure, но она предназначена для людей, которые хотят выполнять безопасное резервное копирование своих данных в другом месте (например, для аварийного восстановления), в то время как мне нужно несколько рабочих мест, принимающих CRUD на каждом место.
Как мне это сделать? Как сохранить движение баз данных к синхронизации и как перенаправить трафик из приложения в ближайшую копию службы Azure?
(NB. Я не уверен, что вопросы, которые сводятся к запросам на поиск документации, соответствуют переполнению стека, приносим извинения, если это не приветствуется.)
1 ответ
Моя статья Разработка приложения для аварийного восстановления в облаке с использованием гео-репликации в базе данных SQL должна помочь.
В этой статье я рассмотрю три шаблона проектирования аварийного восстановления:
- Активно-пассивное развертывание для аварийного восстановления в облаке с базой данных
- Активно-активное развертывание для балансировки нагрузки приложений
- Активно-пассивное развертывание для сохранения данных
и это второй из них, который охватывает ваш сценарий.
Вот параграф из статьи, которая обрисовывает в общих чертах образец.
В этом шаблоне приложение переключается в режим только для чтения при подключении к вторичной базе данных. Логика приложения в первичном регионе размещается совместно с первичной базой данных и работает в режиме чтения-записи (RW), логика приложения во вторичном регионе размещается совместно с вторичной базой данных и готова к работе в режиме только чтения (RO), Диспетчер трафика должен быть настроен на использование отказоустойчивой маршрутизации с включенным мониторингом конечных точек для обоих экземпляров приложения.
И вот схема, суммирующая архитектуру, с которой вы закончите, если будете следовать советам в статье.
Там больше деталей в моей статье; если у вас есть дополнительные вопросы, не стесняйтесь писать, и я буду следить.