Масштабирование приложения Meteor на Heroku

В ответе на другой question он отметил, что "Приложения, развернутые на размещенные серверы с" развертыванием метеоров ", пока не имеют никаких гарантий или соглашений об уровне обслуживания масштабирование". Это исключает возможность использования их размещенных серверов, если я хочу быть уверенным, что могу полностью масштабироваться.

В ответе далее отмечается, что "набор серверов, сгенерированный с помощью пакета метеоритов", представляет собой в основном одно приложение для процесса. Это связано с тем, что вы подключаете его к нескольким экземплярам или, тем не менее, хотите реализовать автоматическое масштабирование ".

Прочитав это, я все еще очень неясен в вопросе масштабирования. На Heroku я предполагаю, что могу запускать однопроцессорные приложения "meteor bundle" в динамических системах. Но если я использую много динамиков, каждый из которых запускает пакет серверов Meteor, разработан Meteor, чтобы они могли быть подключены так, чтобы все они синхронизировались с одними и теми же данными (даже если есть отставание)?

Ответы

Ответ 1

Отвечая на мой собственный вопрос, команда Meteor анонсировала дорожную карту, которая включает планы масштабируемости, для включения в Meteor 1.0.

Ответ 2

Метеор - еще очень молодая платформа. Прежде чем масштабируемость, лично я поставил бы вопрос о безопасности, поскольку сейчас у Meteor нет модели безопасности в публичном выпуске. Также не упоминается о безопасности в документах Meteor, но команда Meteor подтвердила, что они работают над этим, и в будущем выпуске будет. Посмотрите здесь: https://stackoverflow.com/questions/10100813/when-can-we-expect-data-validation-and-security-in-meteor

Поэтому я думаю, что вы и я (для обеспечения безопасности) должны ждать больше выпусков и, возможно, до того, как масштабируемость 1.0 будет обработана внутренне, или atlease, у них должна быть документация, объясняющая, как это сделать.

Чтобы получить представление о том, как масштабируемость будет обработана, и чтобы получить лучшую картину, я думаю, что кто-то из команды метеоров должен ответить на вопрос о масштабируемости.

Ответ 3

Вы можете развернуть метеоритные приложения в Heroku, но вам нужно придерживаться 1 dyno. Потому что Heroku не поддерживает WebSockets или Sticky Sessions.

Итак, вам нужно найти другого провайдера PAAS. Nodejitsu - хороший вариант. Если вы не будете масштабироваться в несколько экземпляров, вам нужно найти способ синхронизации операций записи между экземплярами.

Затем вам понадобится Meteor Cluster - http://goo.gl/2aHJ2

Ответ 4

Недавно я задал аналогичный вопрос (Какой PaaS лучше всего подходит для приложения Meteor JS, которое должно быть масштабируемым?), и один из ответов объяснил Heroku ситуация очень хорошо (я думал) - см. fooobar.com/info/373394/.... Также указывается (fooobar.com/info/373394/...), который можно развернуть на meteor.com. Хотя масштабирование по-прежнему находится в дорожной карте, возможно, они имеют или решают некоторые проблемы масштабирования "внутри компании", или могут в противном случае сохранить свое обслуживание на переднем крае возможного масштабирования для Meteor Apps. В противном случае вы можете пойти с EC2 и масштабировать по вертикали (увеличить мощность одного экземпляра), пока Meteor не достигнет отметки официальными решениями масштабирования. Настройка с EC2 для меня нова, но этот ответ (fooobar.com/info/373394/...) выглядит хорошей отправной точкой. Я еще не пробовал, но скорее всего скоро.