Это обычная практика, и люди в основном делают это, потому что она предлагает вам возможность масштабировать их как самостоятельно.
Что касается , то как, вам нужно будет, очевидно, сконфигурировать каждый из ваших экземпляров Amazon EC2, установить метеорит на одном, а MongoDB - на другой. Вам также необходимо настроить VPC (виртуальное частное облако Amazon), чтобы ваш экземпляр MongoDB принимал входящие соединения на любом указанном вами порту (по умолчанию 27017), чтобы ваше приложение Meteor могло подключаться.
После этого вам просто нужно сообщить вашему приложению метеоритов, куда нужно подключиться к базе данных. Самый безопасный способ сделать это будет установить пару переменных окружения, названные MONGODBSERVER и MONGODBPORT, DBUSER, DBPassword и т.п.
Затем вы хотите установить некоторые переменные в вашем сервер Метеор кода, используя что-то вроде:
Meteor.startup(function() {
var DbUser = process.env.DBUSER;
var DbPassword = process.env.DBPASSWORD;
var MongoDBServer = process.env.MONGODBSERVER;
var MongoDBPort = process.env.MONGODBPORT;
});
И если вы используете родную MongoDB драйвер, подключение становится тривиальным:
var MongoClient = require('mongodb').MongoClient;
MongoClient.connect('mongodb://DbUser:[email protected]:MongoDBPort/databasename', function(err, db) {
...
});
Тогда это просто вопрос построения своих моделей Монго, используя что-то вроде:
Temperatures = new Mongo.Collection('temperatures');
Temperatures._ensureIndex({temp: 1, time: 1});
А затем принимать меры на тех моделях, в отношении к базе данных:
Temperatures.insert({temp: ftemp, time: Math.floor(Date.now()/1000)});
Я буду также отметим, что http://modulus.io - действительно достойное решение для размещения в Метеоре. Я бы порекомендовал их, если вы не застряли на использовании экземпляров Amazon EC2, что хорошо, но более сложным для простого приложения.
Вы можете использовать Amazon Linux или Ubuntu для размещения приложения/базы данных Meteor? В руководстве MongoDB кажется, что они предлагают Amazon Linux, но я хотел бы услышать вашу точку зрения на него. –
Это будет во многом зависеть от вашего конкретного варианта использования. Не зная, какие критерии вы ищете, было бы трудно предложить один над другим в этом пункте, не размышляя. Возможно, это тема для другого вопроса? – BeeTee2
Что касается родного драйвера MongoDB, мне нужно будет только беспокоиться об этом для приложений, не связанных с метеоритом, не так ли? Например, приложение iOS или собственное настольное приложение. –