2013-11-28 2 views
1

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

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

Q2. Предполагая, что есть 2 прочитанных реплики, я все еще изменяю свою логику приложения для чтения из разных реплик?

В принципе, есть ли способ, которым я могу иметь балансировщик нагрузки между моим эластичным бобовым стеблем и репликами RDS, чтобы мне не пришлось сильно меняться в моей логике приложений. Причина в том, что я пытаюсь подключиться и не переписываться.

Благодаря Sanket

+0

Если вы используете Rails, возможно, стоит проверить https://github.com/tchandy/octopus – andreimarinescu

+0

Не использовать Rails ... – sanket

+0

Вы также можете посмотреть балансировку нагрузки с помощью Route53. Добавьте запись CNAME со всеми вашими прочитанными репликами и выполните балансировку нагрузки по шинам PCI. Вам все равно нужно обновить логику приложения, чтобы маршрутизировать чтение в реплики и писать на мастер, но это может позаботиться о репликах балансировки нагрузки. – andreimarinescu

ответ

0

Q1. Есть ли какой-нибудь компонент, который может сидеть между моими EC2 (которые являются эластичными), которые могут автоматически направлять запросы на запись мастерам и читать запросы к ведомым устройствам по запросу?

Вы можете использовать что-то вроде Simple Queue Service от Amazon, чтобы сидеть между вашей сетью и уровнем данных или даже чем-то более сложным, как писать в Elasticache.

Q2. Предполагая, что есть 2 чтения реплики, я все еще изменить логику приложения для чтения из различных реплик

Это мое понимание того, что прочитал трафика (селекцию) назначь к репликам чтения во время записи (вставка/обновление/удаление) перенаправить мастеру и асинхронно обновить прочитанные реплики. Поэтому я считаю, что вы просто отправляете свой трафик на конечную точку RDS и обрабатываете его оттуда.

Смежные вопросы