Подключите две приложения Meteor, используя DDP

У меня есть два приложения, которые мне нужно синхронизировать. Один из них получит данные от пользователей, а другой отобразит данные. Оба приложения будут работать на разных серверах. Они могут быть отключены в несколько раз, и им необходимо продолжить работу, пока не заново подключиться, поэтому я буду реплицировать данные из первого приложения во втором приложении.

В документации Meteor я нашел DDP.connect(url), но я не уверен, как ее использовать. Я нашел много вопросов и примеров, связывающих не Meteor приложения с Meteor с использованием DDP, но ничего не связать с двумя приложениями Meteor.

Мой первый подход был примерно таким:

Приложение 1

Items = new Meteor.Collection('items');
Items.insert({name: 'item 1'});
if (Meteor.isServer) {
  Meteor.publish('items', function() {
    return Items.find();
  });
}

Приложение 2

Items = new Meteor.Collection('items')
if (Meteor.isServer) {
  var remote = DDP.connect('http://server1.com/);
  remote.onReconnect = function() {
    remote.subscribe('items');
    var items = Items.find();
    console.log(items.count());  // expected to be 1 but get 0
  } 
}

Во втором приложении, как я могу получить элементы из первого приложения?

Ответ 1

У меня есть ключ к этому вопросу Как правильно использовать Meteor.connect() для подключения к другому серверу Meteor. Я пропустил это, потому что речь шла о старом Meteor.connect(), который изменился на DDP.connect().

Это работало на клиенте и сервере

var remote = DDP.connect('http://server1.com/');
Items = new Meteor.Collection('items', remote); 

remote.subscribe('items', function() {
  var items = Items.find();
  console.log(items.count());  // get 1         
});

Теперь я могу следить за изменениями в приложении 1 из приложения 2 с помощью Items.find().observe()

Внимание

В Meteor есть ошибка, которая остановит соединение между приложениями:

Обновление

Исправлена ​​ошибка

Обновление 2

Это пример проекта, протестированного с помощью Meteor 0.6.6.2 https://github.com/camilosw/ddp-servers-test