0

После проглатывания я смиренно понял, что мой пост был огромным rant. Поэтому я отредактировал его и подвел итог только тому вопросу, который мне действительно хотелось бы узнать. Приносим извинения за мои резкие комментарии до этого редактирования;)Вы используете AWSDBProxy? Есть ли успех при масштабировании?

Кажется, что только учебные пособия, рассказывающие об использовании SimpleDB Amazon на сайте rails, используют AWSDBProxy ... Лично я нахожу этот контринтуитивный способ масштабирования , принимая во внимание расположение сервера типичного сайта Rails ниже (с использованием AWSDBProxy):

Plugin здесь: http://agilewebdevelopment.com/plugins/aws_sdb_proxy

изображение здесь: http://www.freeimagehosting.net/uploads/91be4e0617.png

Как вы можете видеть, даже если мы добавим больше дворняг, мы имеем две проблемы.

  1. У нас есть единая точка отказа гораздо менее стабильной, чем наши балансировки нагрузки
  2. Мы должны заставить всю нашу информацию через этот один WEBrick сервер

Решение, конечно, чтобы добавить еще AWSDBProxies ... но почему бы вам тогда не использовать следующий код в слове say, класс, пропуская прокси все вместе?

service = AwsSdb::Service.new(Logger.new(nil), 
           CONFIG['aws_access_key_id'], 
           CONFIG['aws_secret_access_key']) 
service.query(domain, query) 

Так что я клоню, если вы являются с помощью AWSDBProxy, что ты оправданий для него? И если вы действительно используете его, какова ваша производительность? Если у вас будут жесткие цифры, это будет еще более оценено!

Спасибо!

+0

Убрать голос. ;) Кроме того, это может помочь связать проект AWSDBProxy, я не смог его загрузить до тех пор, пока вы не добавите фрагмент кода и не сможете указать имя модуля. – Otto

+0

Огромное спасибо Отто :) Иногда нужно просто немного похлопать, хе-хе. Спасибо за подсказку, сейчас я отредактирую! –

ответ

1

Я не использую его, и я никогда не слышал об этом, но это то, что я считаю разумными.

  1. Вы используете основной сервер приложений на EC2, поэтому вероятность интернет-FAIL не влияет на вас более одного раза.
  2. Запускается один прокси на каждом из серверов приложений. Таким образом, соединение вниз не хуже, чем соединение (-и) с базой данных.
  3. Потому что это можно сделать. Это так же хорошо, как и в проекте с открытым исходным кодом. Иногда это требует создания вещи, прежде чем вы узнаете, является ли эта вещь хорошей/плохой идеей.
  4. У вас нет уровней трафика, требующих балансировки нагрузки. Затем ваша диаграмма сжимается до линии, если не одна машина.
+0

Все хорошие рассуждения. Думаю, мне просто не нравится идея иметь дело с внутренними веб-запросами, когда в объектах памяти и простых классах это будет делать. Единственное, с чем я не соглашался, - это №4, так как я спрашивал о масштабировании: D Но прокси-сервер для каждого сервера приложений не так уж плох ... –

+0

Я собираюсь подождать, если кто-то с некоторыми жесткие номера, так как это меня больше всего интересует.Простота использования отличная, но я просто чувствую, что сжатие нескольких экземпляров приложений в один прокси-сервер поражает цель, хе. Спасибо за ответ hte, хотя! –

+0

Согласованные внутренние HTTP-запросы почти наверняка представляют собой запах кода ... кроме прокси-сервера HTTP, такого как apache или балансировки нагрузки. :) Я работал над одним проектом, где они размещали HTTP-интерфейс на каждом из своих EJB, а затем переписывали их все, чтобы разговаривать друг с другом через HTTP. Это сосало. – Otto