Лучшее место для размещения моего приложения Sproutcore с резервной копией Cloudant CouchDB? - PullRequest
1 голос
/ 07 марта 2011

У меня есть приложение Sproutcore, которое использует CouchDB, размещенное в Cloudant.В devenv я использую прокси-сервер Sproutcore для пересылки запросов в Cloudant (из-за политики одного источника я, очевидно, не могу вызывать произвольные хосты из моего JavaScript).

Что бы вы посоветовали при размещении приложения.Сценарий загрузки CouchApps завершается с ошибкой (обратите внимание, что приложение Sproutcore содержит около 40 МБ JavaScript и ресурсов).

Ответы [ 2 ]

2 голосов
/ 07 марта 2011

Хостинг приложения, напрямую связывающегося с couchdb, заключается в том, что вы ограничены одной и той же политикой происхождения, поэтому сервер, обслуживающий ваше приложение SproutCore, должен находиться в том же домене, что и доступ к базе данных couchDB.Если ваш хост предоставляет статический файловый сервер, вы можете использовать его, но, вероятно, лучше всего просто сохранить его как приложение для кушетки.

Ключ к развертыванию SC в качестве приложения-кушетки заключается в том, что вам нужно настроить URL, которые генерирует sc-build, чтобы указать на правильное местоположение.Это можно сделать, установив файл сборки примерно так:

:url_prefix => '<database>/_design/<designDocument>/'

Таким образом, ссылки указывают на правильное местоположение.

Вы также можете настроить перезапись URL CouchDB, чтобы получить более простые URL, если выпожелает.Загляните сюда для дальнейшего обсуждения:

https://groups.google.com/d/topic/sproutcore/-D-5T5yPg3A/discussion

PS: 40 МБ кажется слишком большим!у тебя много картинок?Я был бы обеспокоен, если бы у вас было столько JS / CSS.

1 голос
/ 07 марта 2011

Cloudant размещает свои кластеры (в основном) на EC2 в зонах доступности us-east-1b или us-west-1b.Если вы не можете развернуть как CouchApp, вы должны попытаться разместить свой прикладной уровень рядом с кластером БД.Это сведет к минимуму задержку между веб-сервером и базами данных.

Вы можете сделать это самостоятельно, получив экземпляр EC2 и запустив на нем веб-сервер, или вы можете использовать сторонний хост, который размещается на AWS (например, Heroku ).

В обоих случаях вам потребуется запустить небольшой прокси-сервер с вашего веб-сервера в базе данных.Вот почему простой хостинг на S3 в настоящее время недоступен.

После развертывания приложения на веб-сервере не забудьте проверить, что ваш веб-сервер и база данных находятся в одной зоне доступности AWS.,Если это не так, просто попросите Cloudant переместить ваш аккаунт.

...