GAE: MQTT брокер

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

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

РЕДАКТИРОВАТЬ: сделал некоторые дальнейшие исследования, и кажется, что Moquette работает на Java. У кого-нибудь есть опыт запуска Moquette на GAE?

РЕДАКТИРОВАТЬ 2: Хорошо, кажется, примеры Moquette работают с использованием контейнера OSGi, который недоступен в GAE. Ищем скрипт для запуска этого сервера на GAE.

3 ответа

Решение

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

Примечание: бэкэнды GAE были заменены: теперь у вас есть только автоматически масштабируемые (aka frontend) экземпляры и вручную масштабируемые (aka backend) экземпляры.

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

@ Питер Кнего определенно прав, и все, что я хотел бы добавить к его ответу, это то, что

Если вам удастся настроить приложение на использование настраиваемой среды выполнения на управляемых Vms Appengine и Compute Engine,

тогда вы сможете запустить свой MQTT-брокер безупречно звучащим и здоровым.

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

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

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

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

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

Ура,

Кристиан

Другие вопросы по тегам