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