Meteor js как передний конец, что использовать для бэкэнд?

Я хотел бы спросить о лучших практиках в создании backend для Meteor.

Я использую Meteor js как Front End, и я планирую использовать связку apache/php/yii framework/YiiMongoDbSuite на другом порту в качестве бэкэнда (панель администратора).

Может быть, кто-то подскажет мне, что лучше всего подходит для легкого создания админ-части приложения метеора?

Ответы

Ответ 1

Если вы уже создали свой сервер в PHP/Rails и т.д., вы могли бы рассмотреть DDP-клиент или REST для передачи сообщений между метеор и бэкэнд. DDP имеет несколько преимуществ перед REST

его открытое соединение вы даже можете получить в прямом эфире.

Я не уверен ни в каких DDP-клиентах для PHP, хотя. Есть несколько:

Вы можете использовать REST для общения, но вы бы упустили много функциональности. С DDP вы можете получить доступ к Meteor.methods и сделать подписку довольно легко.

Наконец, вы можете просто подключиться прямо к вашему mongodb и внести свои изменения. Meteor будет обрабатывать их в течение 10 секунд.

Но почему бы не использовать сам Meteor в качестве бэкэнд? Использование экземпляра Seperat Meteor может сделать вашу административную зону более безопасной. С Meteor в качестве бэкэнд было бы намного проще поддерживать, у вас был бы совместимый код, чтобы делиться между ними. Вы можете использовать Meteor.connect для доступа к экземпляру клиента.

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

UPDATE: Meteor 0.7.0 представил хвостовик oplog, поэтому вам не нужно ждать 10 секунд, чтобы обновления появлялись больше. Они были бы мгновенными, как будто из самого метеор.

Ответ 2

Meteor прислушивается к базе данных MongoDB напрямую, поэтому любые изменения там будут автоматически обновлять приложение. Это означает, что если вы хотите написать MongoDB с PHP, вы можете, а затем метеорит автоматически обнаружит изменения и обновит конец шрифта.

Я считаю, что это также будет работать с numtel meteor mysql package. Это делает его очень легким, если вы хотите начать использовать метеорит для своих компонентов, которые необходимо обновлять в режиме реального времени или медленно мигрировать по проекту.

В настоящее время мы пробуем это для наших систем оповещения в реальном времени. Я думал, что нам нужно научиться использовать DDP, но на самом деле это так же просто, как обе системы, которые слушают одну и ту же БД.