Как масштабировать инстанс Amazon RDS по горизонтали?

Как масштабировать экземпляр Amazon RDS по горизонтали? EC2 и балансировщик нагрузки + автомасштабирование чрезвычайно просты в реализации, но если я хочу масштабировать amazon RDS? Я могу обновить свой экземпляр RDS с помощью более мощного экземпляра или создать реплику чтения и направить к ней запросы SELECT. Но в этом режиме я ничего не масштабирую, если у меня есть ориентированное на чтение веб-приложение. Итак, могу ли я создать реплику чтения RDS с автоматическим масштабированием и сбалансировать их с помощью балансировщика нагрузки?


person Alessandro Corradini    schedule 07.02.2015    source источник
comment
Гуо мысли, не знаю, что вас останавливает, чтобы сделать это. iheavy.com/2012/04/09/autoscaling -mysql-на-амазонке-ec2   -  person BMW    schedule 08.02.2015


Ответы (3)


Вы можете использовать HAProxy для балансировки нагрузки реплик чтения Amazon RDS. Проверьте этот http://harish11g.blogspot.ro/2013/08/Load-balancing-Amazon-RDS-MySQL-read-replica-slaves-using-HAProxy.html. Надеюсь это поможет.

person Magda    schedule 06.05.2015

Примечание RDS поддерживает несколько механизмов баз данных — mysql, postgresql, Oracle, MSSQL.

Вообще говоря, вы можете масштабировать (более крупный экземпляр), использовать базы данных только для чтения или сегментировать. Если вы используете mysql, посмотрите на AWS Aurora. Подумайте об оптимальном использовании базы данных — возможно, в сочетании с memcached или Redis (оба доступны в AWS Elasticache). Подумайте об использовании поисковой системы (lucene, elasticsearch, cloudsearch).

Некоторые общие ресурсы:

person tedder42    schedule 07.02.2015
comment
спасибо, я использую mysql. Я понял, что автомасштабирование и балансировка нагрузки не поддерживаются для экземпляров RDS. Я думаю, что буду использовать memcached+readonly-db. должно хватить :) - person Alessandro Corradini; 09.02.2015

Если вы используете PostgreSQL и у вас есть рабочая нагрузка, которая может быть разделена по определенному ключу и не требует сложных транзакций, вы можете взглянуть на pg_shard. pg_shard позволяет создавать распределенные таблицы, разделенные на несколько серверов. Запросы к распределенной таблице будут прозрачно направляться в нужный сегмент.

Несмотря на то, что в RDS не установлено расширение pg_shard, вы можете настроить один или несколько серверов PostgreSQL на EC2 с расширением pg_shard и использовать узлы RDS в качестве рабочих узлов. Узлу pg_shard нужно хранить лишь небольшую часть метаданных, резервная копия которых может быть сохранена на одном из рабочих узлов, поэтому они относительно не требуют обслуживания и могут масштабироваться для обеспечения более высоких скоростей запросов.

Руководство со ссылкой на шаблон CloudFormation для автоматической настройки доступно по адресу: https://www.citusdata.com/blog/14-marco/178-scaling-out-postgresql-on-amazon.-rds-using-masterless-pg-shard

person Marco Slot    schedule 14.08.2015