Избегайте межрегиональных вызовов на экземпляре RDS - PullRequest
0 голосов
/ 22 января 2020

Я работаю с веб-приложением, которое использует AWS базу данных RDS, в настоящее время. Она доступна только в Индии (происхождение из Мумбаи), сейчас я хочу сделать ее доступной для нескольких регионов (США, Огайо и Мумбаи). ). В этом случае, есть ли возможность настроить мой RDS для нижеуказанного сценария ios

Запрос приходит из США-Огайо, он пересылается экземпляром RDS из региона Огайо, и запрос приходит из Индии, после чего данные будут отправляться на сервер Экземпляр RDS из региона Мумбаи и оба экземпляра RDS дублируют друг друга, что означает, что оба экземпляра действуют как одна БД

Заранее спасибо

1 Ответ

1 голос
/ 22 января 2020

Типичная (односерверная) база данных хранит всю информацию в одном месте (например, Мумбаи).

Вы можете добавить реплику чтения в другом регионе (например, Огайо). Это будет копировать информацию в Огайо, но реплика в Огайо может быть использована только для запроса (чтение) данных. Все обновления должны быть сделаны в основной базе данных в Мумбаи. Это ускоряет выполнение запросов без необходимости использования «нескольких мастеров».

С Работа с глобальной базой данных Amazon Aurora :

Глобальная база данных Aurora состоит из одного основного AWS региона, в котором обрабатываются ваши данные, и до пяти вторичных AWS областей только для чтения. Аврора реплицирует данные во вторичный AWS регион с типичной задержкой менее секунды. Операции записи выполняются непосредственно в первичном экземпляре БД в первичном AWS регионе. Глобальная база данных Aurora использует выделенную инфраструктуру для репликации ваших данных, оставляя ресурсы базы данных полностью доступными для обслуживания рабочих нагрузок приложений. Приложения со всемирным охватом могут использовать экземпляры считывателей во вторичных AWS регионах для чтения с малой задержкой. В маловероятном случае, если ваша база данных будет ухудшена или изолирована в AWS регионе, вы можете перевести один из вторичных AWS регионов в режим полной загрузки-чтения-записи менее чем за минуту.

Кластер Aurora в основной AWS регион, в котором обрабатываются ваши данные, выполняет операции чтения и записи. Кластер во вторичном регионе обеспечивает чтение с малой задержкой. Вы можете независимо масштабировать вторичные кластеры, добавив один или несколько экземпляров БД (реплики Aurora) для обслуживания рабочих нагрузок только для чтения. В случае аварийного восстановления вы можете удалить и продвинуть один из вторичных кластеров, чтобы разрешить полные операции чтения и записи.

Если пойти еще дальше, вы можете работать с мультимастерными кластерами Amazon Aurora где все экземпляры БД имеют возможность чтения-записи:

В мультимастерном кластере все экземпляры БД могут выполнять операции записи. Понятия одного основного экземпляра для чтения и записи и нескольких реплик Aurora только для чтения не применяются. Нет сбоя, когда экземпляр БД-модуля записи становится недоступным, потому что сразу же доступен другой экземпляр БД-модуля записи для принятия на себя работы отказавшего экземпляра. Мы называем этот тип доступности как непрерывная доступность , чтобы отличить guish его от высокая доступность (с коротким временем простоя во время переключения при отказе), предлагаемого кластером с одним мастером .

Каждый вариант представляет собой компромисс между производительностью, стоимостью и сложностью. Весьма вероятно, что Read Replica или Global Database будет достаточно для ваших нужд, поскольку большинство операций с базами данных являются запросами, а не обновлениями .

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

Кроме того, обратите внимание, что вышеуказанные возможности будут отличаться в зависимости от выбранного вами механизма базы данных. (Выше указано, что Amazon Aurora работает MySQL.)

...