我需要在iOS App中实现项目的实时队列。 (后来也是Android)。
主要用例是让用户查看所有用户的实时共享队列。可以有很多队列,但目前用户一次只能看到一个队列。 如果一个用户从队列中删除项目,则查看同一队列的iOS应用程序的所有其他用户应实时查看队列更新。如果我的服务器检测到某个新项目已添加到某个队列,则应该将其推送到实时查看该队列的所有其他客户端。
实施此类机制的最佳方式是什么?目前仅支持iOS,但它应该是一个简单的解决方案,以便以后添加其他移动平台不会是麻烦。
我想有两个主要选择:
显然我也可以选择混合解决方案。
我熟悉以下PUB-SUB解决方案:
1.Xmpp (extension to Xmpp would be more accurate)
2.MQTT
3.Pubnub - http://www.pubnub.com/ (pretty new out there)
4. I read about Linked-in Kafka, but that seems way more advance and complicated to ny current needs.
我很想知道是否有人试验过任何论文或其他人,可以推荐一个,并说出本机或网络是否是首选路径。 所选择的解决方案必须易于使用,并且即使以小规模成本也能快速实施。 (服务器端主要用php编写,但node.js也是一个选项)
由于
答案 0 :(得分:0)
要更新移动客户端(或任何类型的客户端)有关服务器端队列(或任何类型的任何数据系统/结构,RDBMS,No-SQL,文件等)的状态,您可以使用{{3 }}
您的客户将订阅一个名为queue-status
的频道(根据您的喜好命名)。无论何时任何客户端或服务器端进程更新队列,在成功提交更改后,您都会将更改/状态发布到queue-status
通道,并且所有主动订阅客户端都将获得< 1/4无论有多少客户,他们所在的世界都在哪里。
如果客户端应用程序在该频道上注册了APNS(推送通知)且应用程序未在前台运行或未在前台运行,则客户端设备将收到该推送通知。
使用PubNub和PubNub PHP SDK for your server side to publish the messages。