Настройка реплик чтения
Компании могут использовать реплики баз данных, предназначенные только для чтения, для глобального масштабирования производительности своих систем. Реплики удобно использовать в том случае, когда клиенты организации находятся в различных регионах по всему миру и к данным обращаются миллионы пользователей. Организация реплик также позволяет отрабатывать ситуации с аварийным восстановлением в регионах.
Ваша компания расширилась и стала всемирно известным продавцом велосипедов. Директор по информационным технологиям обратился в ваш отдел с просьбой улучшить скорость реагирования вашего интернет-магазина при работе с пользователями по всему миру. Вы знаете, что один из самых быстрых и простых способов улучшить производительность — это разместить в каждом географическом регионе реплики баз данных, предназначенные только для чтения.
В этом модуле вы узнаете, насколько просто создавать и администрировать предназначенные только для чтения реплики данных, хранящихся в Базе данных Azure для MySQL/PostgreSQL.
Использование репликации Read
Используйте репликацию Read, чтобы скопировать данные из одного экземпляра Базы данных Azure для MySQL/PostgreSQL (этот экземпляр называется главным) в реплики (максимальным числом до пяти). Используйте репликацию для распределения нагрузки между серверами при обработке рабочих нагрузок с интенсивным чтением данных. Репликация является однонаправленной, и каждая реплика будет доступна только для чтения. Репликация выполняется асинхронно, поэтому существует задержка между моментом изменения данных на главном экземпляре и моментом, когда эти данные появляются в каждой реплике.
Реплики могут находиться в разных регионах относительно главного экземпляра. Реплики можно использовать для того, чтобы разместить данные ближе к клиентам, которые обращаются к этим данным, и таким образом снизить задержку при обработке клиентских запросов. Репликация между регионами также предоставляет механизм для отработки аварийного восстановления в регионах.
Примечание.
Репликация между регионами недоступна на базовом уровне производительности.
Каждая реплика является отдельным экземпляром Базы данных Azure для MySQL/PostgreSQL, но настроена на доступ только для чтения. Если подключение к главному серверу потеряно или главный сервер деактивирован, каждая реплика становится независимым сервером, поддерживающим и чтение, и запись данных. В этом случае реплики больше не синхронизируются друг с другом, поэтому могут появляться различия между хранящимися на них данными.
Примечание.
Если вы используете Базу данных Azure для MySQL, реплики чтения доступны только в ценовых категориях общего назначения и оптимизированных для операций в памяти. Кроме того, реплика чтения недоступны на гибких серверах База данных Azure для PostgreSQL.
Создание реплик
Самый простой способ добавить реплики к серверу — это воспользоваться на портале Azure страницей Репликация для сервера. На этой странице выберите + Добавить реплику.
Вам будет предложено ввести имя и расположение сервера. Другие данные реплики, помимо этих, в том числе ценовая категория, устанавливаются равным тем, что использовались в главном экземпляре. После создания реплики можно изменить все параметры соответствующего ей сервера, в том числе ценовую категорию. Однако следует убедиться, что у каждой реплики достаточно ресурсов для обработки рабочей нагрузки, связанной с получением и хранением реплицируемых данных.
Примечание.
Если вы используете ценовые категории общего назначения или оптимизированные для операций памяти, вам необходимо также включить поддержку репликации. Это можно сделать на странице Репликация, выбрав команду Включить поддержку репликации. Перед продолжением работы сервер будет перезапущен.
После добавления реплики она будет отображена на странице Репликация. В зависимости от размера главного экземпляра и объема данных в базах данных развертывание и синхронизация каждой реплики могут занимать значительное время.
Для перенастройки и изменения размера реплики выберите ее на странице Репликация.
Если вы предпочитаете использовать Azure CLI, то для создания реплик используйте команду az mysql/postgres server replica create
.
az postgres server replica create \
--name northwindreplica3 \
--resource-group northwindrg \
--source-server northwind101
Удаление реплики
Чтобы удалить реплику, выберите ее на странице Репликация, затем выберите пункт Остановка репликации. Сервер-реплика будет отключен от главного сервера и преобразован в сервер, доступный для чтения и записи. При этом реплика не удаляется, и вы продолжаете платить за потребляемые ею ресурсы. Если необходимо удалить реплику, используйте команду Удалить реплику.
В Azure CLI доступна команда az mysql/postgres server replica stop
для остановки репликации и преобразования реплики в сервер, доступный для чтения и записи. Затем с помощью команды az mysql/postgres server delete
можно удалить реплику и освободить ее ресурсы.