Не хочу критиковать ваш выбор архитектуры, но, похоже, вы не правильно расставили приоритеты.Memcache не нужна огромная коробка для запуска;ему просто нужно столько памяти, сколько вы готовы его накормить.Преимущества этого в скорости, которую он предлагает, толкая и извлекая информацию из нее.Помещение вашего блока MC за пределы вашей внутренней сети - EC2 или нет - в основном убивает эффективность наличия блока MC для начала.Допустим, вы экономите 100 мс на запросе БД, но задержка для EC2 составляет 50 мс.Вы по-прежнему тратите 49 миллисекунд, которыми в противном случае могли бы воспользоваться.
Общий хостинг (для большого количества крупных приложений) - абсолютная ерунда.Если у вас есть проект, достаточно большой, чтобы потребовать мощность блока EC2 для службы CACHING, то вы определенно делаете что-то не так.Вот мое предложение: перенесите ваше приложение в EC2 и разместите экземпляр Memcached в том же окне.Затраты не так уж велики, и если вы планируете масштабировать кэш, просто загрузите другую коробку и укажите приложению этот экземпляр MC.
Другой вариант - перейтис менее дорогим хостом VPS, таким как Linode или Slicehost .Оба имеют хорошую репутацию в сообществе.Если я не ошибаюсь, части Foursquare даже размещены на Slicehost.Оба являются очень недорогими VPS-решениями (по сравнению с несколькими общими решениями; посмотрите на них точка-точка с чем-то вроде MediaTemple) и их можно очень легко масштабировать.Допустим, вы начинаете с Linode-бокса за $ 20 для своего экземпляра MC.Вы экономите около 50 долларов в месяц, потому что вы не на EC2.Если вы перенесете свой хостинг на другой Linode за 20 долларов в месяц, вы, вероятно, заплатите примерно такую же сумму (возможно, немного больше, если вы используете виртуальный хостинг).Кроме того, если вы поместите свои линоды в один и тот же центр обработки данных, то задержка между вашим веб-приложением и вашим кешем практически равна нулю.
В будущем, скажем, вы хотите повысить производительность своего MC.Просто загрузите другую коробку с MC и удалите старую.Вы можете закрыть его и изменить его размер, но тогда у вас будет время простоя (но это все еще вариант).
Надеюсь, это поможет!
Matt