0

移动应用程序正在将它们的位置更新到服务器,并且服务器以内容响应。

是否可以使用 MQTT(Apache Artemis)将实时位置更新从移动应用程序发送到服务器。

在这种情况下,我的服务器应用程序 (PHP) 是否需要订阅主题?

服务器必须通过单个订阅通道处理所有位置更新。这可能会减慢服务器的速度吗?

流程就像 - Android 客户端定期(例如 30 秒)将用户的位置发送到服务器,PHP 服务器返回最近的用户,应用程序将它们显示在地图上。

这是我使用 MQTT 计划的架构 每个移动应用程序用户 ID 都将被视为一个主题,以便我们可以向每个用户发送响应。PHP 服务器将被视为一个主题,例如“LOCATION_TRACKER”。所有移动应用都会将位置发布到服务器主题“LOCATION_TRACKER”。服务器通过使用他们的 id 作为主题来准备列表并发布对单个用户的响应。

在这个架构中,PHP 服务器订阅主题“LOCATION_TRACKER”,实际上所有移动应用程序都发布到一个主题。考虑有数以百万计的用户如何扩展 PHP 服务器,或者有没有其他方法可以做到这一点?

该应用程序将针对至少 1000 万用户。应该支持一半的并发用户。

4

1 回答 1

0

完全可以将位置更新从移动设备发送到 MQTT 代理,例如查看OwnTracks项目。

对于您而言,应用程序在处理大量消息时的行为方式完全取决于该应用程序的架构方式。对于大容量系统,通常的模式对我们来说是一个本地队列和一个线程池来分配负载,但这一切都取决于您需要对数据做什么。

于 2016-02-19T11:34:34.193 回答