Общие сведения о георепликации
Разработчикам приложений и ИТ-инженерам часто нужно создавать и запускать устойчивые приложения. Устойчивость определяется как способность приложения реагировать на сбой и по-прежнему оставаться функциональным. Для обеспечения устойчивости при региональных сбоях в облаке первым шагом является создание избыточности, чтобы избежать единой точки отказа. Этой избыточности можно добиться с помощью георепликации.
Функция георепликации Конфигурации приложений позволяет реплицировать хранилище конфигураций в выбранные регионы. Каждая новая реплика будет находиться в другом регионе и создает новую конечную точку, в которую приложения будут отправлять запросы. Исходная конечная точка хранилища конфигурации называется источником. Источник нельзя удалить, но в остальном он ведет себя как любая другая реплика.
Изменить или обновить пары "ключ-значение" можно в любой реплике. Эти изменения будут синхронизированы со всеми остальными репликами согласно итоговой модели согласованности.
Репликация хранилища конфигураций обеспечивает следующие преимущества:
- Дополнительная устойчивость к сбоям Azure. В случае регионального сбоя реплики затрагиваются по отдельности. Если в одном регионе произойдет сбой, все реплики, расположенные в регионах, которые не затронуты, по-прежнему будут доступны и будут непрерывно синхронизироваться. После устранения сбоя все затронутые реплики будут синхронизированы с последним состоянием. Обратите внимание, что георепликация предоставляет только функции автоматической отработки отказа через поставщиков конфигурации Конфигурация приложений. В противном случае вы можете также создать собственные пользовательские механизмы отработки отказа в конфигурации приложения, чтобы переключаться между разными конечными точками реплики, чтобы снизить влияние сбоя Azure.
- Перераспределение ограничений запросов. Вы можете настроить код, в котором конечная точка реплики использует приложение, позволяя распределять нагрузку запросов, чтобы избежать превышения ограничения количества запросов. Например, если приложения выполняются в нескольких регионах и отправляют запросы только в один регион, могут быть превышены ограничения на количество запросов Конфигурации приложений. Эту нагрузку можно перераспределить, создав реплики в регионах, в которых работают приложения. Каждая реплика имеет отдельные ограничения на количество запросов, равные ограничениям на количество запросов источника. Исчерпание ограничений на количество запросов в одной реплике не влияет на ограничения в другой реплике.
- Региональная секционализация. Доступ к нескольким регионам может повысить задержку между приложением и хранилищем конфигураций, что приведет к ускорению ответов на запросы и повышению производительности, если приложение отправляет запросы в ближайшую реплику. Указание доступа к реплике также позволяет ограничить хранение данных и обмен данными между различными регионами в зависимости от ваших предпочтений.
Чтобы включить эту функцию в хранилище, ознакомьтесь с руководством по включению документа георепликации.
Примеры вариантов использования
Команда разработчиков создает систему, состоящую из нескольких приложений. В настоящее время она использует одно хранилище Конфигурации приложений Azure в регионе "Западная часть США". Использование их системы быстро растет, и они хотят масштабировать ресурсы и удовлетворить потребности клиентов в следующих регионах: Центральная Швеция, западная часть США, Северная Европа и Восточная Азия. Все приложения, которые в настоящее время используют хранилище конфигураций "Западная часть США", создают единую точку отказа. Если в западной части США произошел региональный сбой, и у них не было других механизмов отработки отказа или поведения по умолчанию, их система будет недоступна для клиентов. Кроме того, глобально на все приложения в настоящее время распространяется ограничением на количество запросов в одном хранилище конфигурации. После того, как команда станет использовать большее число регионов, это ограничение невозможно будет поддерживать.
Этой команде может быть полезна георепликация. Она сможет создать реплику хранилища конфигурации в каждом регионе, где будет выполняться приложение. Затем их приложения смогут отправлять запросы в реплику в одном регионе — не возникнет ситуации, когда все приложения будут отправлять запросы в западную часть США. Это обеспечит два преимущества: уменьшенная задержка обработки запросов и оптимизированное распределение нагрузки. Наличие эффективно распределенной нагрузки запросов поможет избежать исчерпания квоты запросов. Кроме того, наличие нескольких реплик позволит команде настроить отработку отказа приложений в случае регионального сбоя. Например, команда может настроить приложения, работающие в Центральной Швеции, чтобы они извлекали конфигурацию из этого региона, но выполняли переходили в Северную Европу, если в Центральной Швеции произойдет сбой. Даже если Конфигурация приложений недоступна в определенном регионе, это не повлияет на систему команды.
Рекомендации
- Георепликация недоступна на уровне "Бесплатный".
- Каждая реплика имеет ограничения, как описано на странице цен на Конфигурацию приложений. Эти ограничения изолированы для каждой реплики.
- Конфигурация приложений Azure также поддерживает зоны доступности Azure для создания устойчивого и высокодоступного хранилища в регионе Azure. Поддержка зон доступности автоматически включается для реплики, если регион реплики поддерживает зоны доступности. Сочетание зон доступности для избыточности в пределах региона и георепликации между несколькими регионами значительно повышает доступность и производительность хранилища конфигураций.
Затраты и выставление счетов
Каждая созданная реплика будет приводить к дополнительным расходам. Дополнительные сведения см. на странице цен на Конфигурацию приложений. Например, если источник является хранилищем конфигураций уровня "Стандартный", а у вас есть пять реплик, с вас будет взиматься плата за шесть хранилищ конфигураций уровня "Стандартный" для вашей системы, но каждая из отдельных квот и запросов реплики будет включена в эту плату.
Наблюдение
Чтобы получить аналитические сведения о характеристиках функции георепликации, Конфигурация приложений предоставляет метрику с именем Задержка репликации. Метрика задержки репликации описывает, сколько времени требуется для репликации данных из одного региона в другой.
Дополнительные сведения о метрике задержки репликации и других метриках Конфигурация приложений см. в справочнике по данным мониторинга Конфигурация приложений.