2015-05-08 8 views
5

Я получил отличную обратную связь от Stackoverflow и хотел проверить еще одну идею.PouchDb на PAAS (Heroku, Bluemix и т. Д.)

В настоящее время у меня есть webapp, который запускает nodejs на PAAS (Heroku и пытается использовать bluemix). Сервер настроен на общение с Couchdb (размещенным на облачной основе). В db хранятся два типа данных: во-первых, пользовательские данные (каждый пользователь будет иметь собственную базу данных), а во-вторых, сами данные приложения (показатели, данные учетной записи пользователя (данные auth/admin).

После некоторых отличная обратная связь отсюда, идея состоит в том, что после входа пользователя в систему они синхронизируют с локальным (браузерным) экземпляром pouchdb с Cloudant (возможно, проксированным через мой сервер, как было рекомендовано здесь).

Теперь вопрос в том, app/admin, возможно, я запускаю экземпляр couchdb на своем сервере, поэтому я не повторяю сетевые вызовы для таких вещей, как логины пользователей, данные показателей и т. д. Данные не будут очень большими и уже отделены от пользовательских данных вызовы. Дело в том, что в первую очередь для ускорения/локального экземпляра аутентификации, изменения/обновления синхронизируются вне o f пользовательских запросов.

Бэкэнд в экспресс-фреймворке и, похоже, мои параметры - pouchdb .... для синхронизации с экземпляром Cloudant?

Если я хочу, чтобы локальный доступ к db (поддерживаемый экземпляром Couchdb), на узле/экспресс-сервере, запущенном на PAAS, является рекомендуемой настройкой?

Благодаря VM для любой обратной связи, Пол

+2

Кто-нибудь? Bueller? ... Bueller? ... Bueller ... – paultman

+0

Мне интересно, если вы когда-нибудь это выяснили. :) В целом это похоже на возможный подход, но не уверен в всех факторах, которые вы считали тогда. – BigBlueHat

+0

Эти провайдеры PaaS позволяют временно хранить данные в файловой системе, поэтому вы, возможно, не сможете запускать PouchDB на них. Ну, вы можете запускать, синхронизировать все с памятью или с локальной файловой системой, а затем синхронизировать с Cloudant и надеяться, что ваш PaaS не стирает временные файлы тем временем. Это может усложниться по мере увеличения количества данных для синхронизации. – fiatjaf

ответ

0

Не уверен, что если вы нашли решение, но это то, что я хотел бы попробовать.

Поскольку heroku очищает любые временные данные, вы не сможете запускать базу данных экспресс-пакетов по умолчанию, вам нужно будет изменить пакет db с помощью файловой системы на использование адаптера LevelDOWN. (Ссылка на адаптеры Pouchdb: https://pouchdb.com/adapters.html)

Некоторые из этих адаптеров будет включать в себя: https://github.com/watson/mongodown https://github.com/kesla/mysqldown https://github.com/hmalphettes/redisdown

Вы можете легко получить Heroku Mondo, MySQL, или Redis аддон, и подключить, что к вам экспресс-pouchdb бэкенд.

Таким образом, вы сможете хранить свои данные.