2015-01-20 4 views
1

Так что мне было интересно, можно ли запустить брокера MQTT на платформе Google App Engine? Не можете найти информацию о нем (или, возможно, я буду использовать неправильные ключевые слова).GAE: брокер MQTT

У меня есть GAE, работающий на Java, поэтому я хотел бы перейти в направлении запуска брокера MQTT на GAE с использованием бэкэнд.

EDIT: Прошло некоторое дальнейшее исследование, и, похоже, Moquette работает на Java. У кого-то есть опыт работы с Moquette на GAE?

EDIT2: Хорошо, кажется, примеры MOQUETTE работают с использованием OSGi контейнер, который является в GAE невозможной. Поиск сценария для запуска этого сервера на GAE.

ответ

1

MQTT - протокол поверх TCP. Чтобы запустить сервер MQTT, нужно открыть слуховой сокет. Они все еще не поддерживаются в обычных экземплярах AppEngine.

Примечание: ГЕНЕРАТОРЫ GAE были заменены: now you just have экземпляры с автоматическим масштабированием (ака фронтэнда) и ручные масштабированные экземпляры (aka backend).

Обратно к вашей проблеме: Managed VMs имеют большую часть преимуществ GAE (доступ к услугам), но запускают полную JVM, которая позволяет прослушивать сокеты.

+0

Возможным решением может быть: запуск брокера на отдельном сервере и определение клиента MQTT как бэкэнд в моем приложении GAE, который затем пересылает данные в мой хранилище данных? Правильно ли, чтобы этот клиент не нуждался в гнезде для прослушивания? – Wouter

+0

Если GAE является клиентом MQTT, и он отправляет только уведомления, возможно, это сработает. –

+0

Немного от темы, но может ли клиент MQTT запускаться на бэкэнд (теперь сервис?). Это, например, для прослушивания публично доступного брокера. – Fakeer

1

Альтернативой Moquette также является брокер HiveMQ, он также работает на Java и может быть легко установлен. Вся документация доступна here. Мы еще не протестировали его на GAE, но если у вас возникли проблемы с его запуском, вы можете задать вопрос в форуме поддержки.

Обновление: Если Питер Кьего прав, то HiveMQ или любой другой брокер MQTT не будут работать с GAE.

Полное раскрытие: Я работаю в компании, которая разрабатывает HiveMQ.

Приветствия,

Christian

+0

Спасибо за головы! Я все еще сравниваю разные варианты :) – Wouter

1

@Peter Knego, безусловно, правы, и все, что я хотел бы добавить к его ответ заключается в том,

Если вам удалось настроить вас приложение, чтобы использовать пользовательские среды выполнения Управляемые Vms of Appengine and Compute Engine,

тогда вы сможете запускать вас в брокере MQTT отлично и хорошо.

Пока вы определяете стену огня, чтобы разрешить соединение tcp в порту, который слушает ваш брокер.

По умолчанию порты блокируются по соображениям безопасности.