Используете ли вы AWSDBProxy?Есть ли снижение производительности при масштабировании?
-
20-08-2019 - |
Вопрос
После голосования "против" я смиренно осознал, что мой пост был огромным разглагольствовать.Итак, я отредактировал его и подвел итог этому вопросу, который я действительно хотел бы знать.Я приношу извинения за мои дерзкие комментарии перед этой правкой ;)
Похоже, что единственные учебные пособия, в которых говорится об использовании Amazon SimpleDB на сайте rails, используют AWSDBProxy...Лично я нахожу это нелогичным для масштабирования, учитывая расположение сервера типичного сайта Rails ниже (с использованием AWSDBProxy):
Плагин здесь: http://agilewebdevelopment.com/plugins/aws_sdb_proxy
Изображение здесь: http://www.freeimagehosting.net/uploads/91be4e0617.png
Как вы можете видеть, даже если мы добавим больше дворняг, у нас возникнут две проблемы.
- У нас есть единственная точка отказа, гораздо менее стабильная, чем наш балансировщик нагрузки
- Мы должны протолкнуть всю нашу информацию через этот Сервер WEBrick
Решение, конечно, состоит в том, чтобы добавить больше AWSDBProxies...но почему бы тогда просто не использовать следующий код, скажем, в классе, пропустив прокси все вместе?
service = AwsSdb::Service.new(Logger.new(nil),
CONFIG['aws_access_key_id'],
CONFIG['aws_secret_access_key'])
service.query(domain, query)
Итак, к чему я клоню, так это к тому, что если вы являются используя AWSDBProxy, каковы ваши обоснования для этого?И если вы действительно используете его, на что похожа ваша производительность?Если у вас есть точные цифры, это было бы еще более ценно!
Спасибо!
Решение
Я им не пользуюсь и никогда о нем не слышал, но это то, что я считаю разумными причинами.
- Вы используете свой основной сервер приложений на EC2, поэтому вероятность сбоя в работе Интернета на самом деле влияет на вас не более одного раза.
- Вы запускаете по одному прокси-серверу на каждом из ваших серверов приложений.Таким образом, разрыв соединения не хуже, чем разрыв соединений с базой данных.
- Потому что это можно сделать.Это такая же веская причина, как и любая другая в проекте с открытым исходным кодом.Иногда требуется создать что-то, прежде чем вы поймете, хорошая это идея или плохая.
- У вас нет достаточного уровня трафика, чтобы нуждаться в балансировщике нагрузки.Затем ваша диаграмма сжимается до строки, если не до одной машины.