2016-02-19 2 views
0

Мобильные приложения обновляют свое местоположение до сервера, а сервер отвечает содержимым.Запрос ответа клиентского сервера MQTT

Возможно ли использовать MQTT (Apache Artemis) для отправки обновлений местоположения в реальном времени из мобильного приложения на сервер.

В этом случае мне нужно, чтобы мое серверное приложение (PHP) подписалось на тему?

Сервер должен обрабатывать все обновления местоположения по одному подписанному каналу. Это может замедлить работу сервера?

Поток похож: клиенты Android периодически отправляют данные пользователя (например, 30 секунд) на сервер, а сервер PHP возвращает ближайших пользователей, а приложение отображает их на карте.

Вот архитектура, которую я планировал использовать с помощью MQTT Каждый идентификатор пользователей мобильных приложений будет рассматриваться как тема, чтобы мы могли отправлять ответ каждому пользователю. PHP-сервер будет рассматриваться как тема, например. "LOCATION_TRACKER". Все мобильные приложения публикуют информацию о сервере в разделе «LOCATION_TRACKER». Сервер подготавливает список и публикует ответ отдельным пользователям, используя их id как темы.

В этом архетекторе сервер PHP подписывается на тему «LOCATION_TRACKER», и на самом деле все мобильные приложения публикуют одну тему. У вас есть миллионы пользователей, как масштабировать сервер PHP или есть ли другие способы сделать это?

Приложение рассчитано на пользователей не менее 10 миллионов пользователей. Должна поддерживать половину одновременных пользователей.

ответ

0

Вполне возможно отправить обновления местоположения с мобильного устройства на брокера MQTT, например, посмотреть проект OwnTracks.

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

+0

Спасибо за ссылку. Пожалуйста, поделитесь информацией о наличии такой архитектуры. Я ищу высокомасштабируемое решение, так как число клиентов может быть миллионом, и я сомневаюсь, как один серверный сервер будет обрабатывать такие обновления местоположения. – MobDev

+0

Я не могу прокомментировать, какая архитектура подходит для вашего приложения, не зная об этом намного больше. – hardillb

+0

Отредактированный вопрос и добавлена ​​дополнительная информация – MobDev

Смежные вопросы