Репликация RDS по регионам
Мы используем Amazon AWS для наших веб-служб, но, учитывая недавнюю нестабильность их инфраструктуры, мы пытаемся выяснить, как запустить наше приложение в нескольких регионах для дополнительной избыточности.
В идеале мы должны запускать все наше приложение в активно-активной конфигурации в нескольких регионах, но наша главная проблема заключается в том, что мы используем RDS, который, как я понимаю, не может реплицироваться в разных регионах.
Одним из возможных решений (хотя мы не пробовали и не доказали, что это будет работать) было бы сделать mysqldump
или снимки EBS каждый час или около того, но это будет означать, что мы будем вынуждены работать в активно-пассивной конфигурации. Наши данные будут не более часа назад. Это связано со своими проблемами, связанными с синхронизацией данных, когда мы переключаемся при сбое, и мастер возвращается, так что это не лучшее решение.
Существуют ли проверенные решения для репликации RDS по регионам?
2 ответа
Я думаю, что короткий ответ: не могу этого сделать.
Если вы хотите сделать это, вам нужно запускать свои собственные экземпляры MySQL вместо использования RDS. Хромой ответ, и я удивлен, что Amazon решил не поддерживать репликацию нескольких регионов, учитывая их предполагаемую приверженность масштабируемой, избыточной и отказоустойчивой инфраструктуре.
Ну что ж:\
Проверьте функцию репликации Multi-AZ. Я думаю, что это делает то, что вы хотите, хотя Master-Standby, но, по крайней мере, это горячий резерв: http://aws.amazon.com/rds/mysql/
ОБНОВИТЬ:
Я был немного быстр, чтобы отправить. Это будет зависеть от уровня избыточности, который вы хотите достичь по сравнению с деньгами, которые вы готовы потратить. Если деньги не проблема, репликация на основе региона, скорее всего, будет лучшей, однако вам также необходимо учитывать уровень приложения. Если цена сделки не так велика, тогда Multi-AZ может быть проще, и, учитывая последний отчет о сбоях от Amazon, только 2,5% RDS Multi-AZ не были автоматически перенесены на их вторичные серверы, по сравнению с полным отказом. всех других узлов Single-AZ.
Похоже, что RDS не поддерживает межрегиональную репликацию, если только вы не запустили полный экземпляр MySQL с кластерной или репликацией нескольких регионов.