我期待在google计算引擎上实现rabbitmq以处理我的android和ios消息传递应用程序中的消息。我听说rabbitmq可能很耗电,所以我想知道解决这个问题的最佳解决方案是什么? 我是否使用不同的协议,如MQTT或所以我使用类似GCM来处理应用程序的连接和让rabbitmq只处理消息排队?如何使用移动应用程序处理RabbitMQ
回答
你永远不会想要从移动设备直接连接到你的RabbitMQ服务器,特别是如果设备上的应用程序是消费者。 RabbitMQ消费者必须持续轮询RabbitMQ以检查是否有消息等待处理。你会想要一个Web服务器来处理来自设备的实际HTTP POST/GET消息。 Web服务器会做两件事情:
- 保存消息DB(与源一起和预期目的地信息)
队列APN/GCM推送消息到RabbitMQ的(这里的经纪人)交换
您需要构建一个守护进程来监视RabbitMQ是否已经排队等待这些推送消息。守护进程的唯一任务是连接或维持与Apple或Google的推送消息传递服务的连接,并通知您的应用程序他们有待处理的消息。如果设备收到挂起消息的通知,它会联系网络服务器以消费该消息。
感谢您的回复,所以基本上我使用rabbitmq处理消息后端并使用gcm ccs之类的设备与设备进行通信到rabbitmq? –
RabbitMQ是一个消息代理。将其用作Web服务器和APN/GCM守护程序之间的代理,以通知用户的设备存在等待消息的消息。我有点复杂,因为如果设备处于脱机状态并且没有收到APN/GCM通知,您必须弄清楚该做什么(即必须有重试策略,何时不重试,如果用户的设备在传递推送消息前读取消息) – pbhowmick
感谢您的回复,您认为最好不要使用rabbitmq,只使用gcm xmpp来处理消息传递? –
- 1. Azure移动应用程序 - ping如何处理7次?
- 2. 如何处理移动应用程序中的导航?
- 3. 如何在Java应用程序中使用RabbitMQ代理
- 4. 如何使java桌面应用程序移动应用程序
- 5. 如何保护用于移动应用程序的消息系统(如RabbitMQ/MQTT)?
- 6. 如何使用RabbitMQ的上RabbitMQ的使用,而(真)的Web应用程序中
- 7. 如何使用Spring Cloud Stream应用程序启动程序处理消息TCP
- 8. 处理RabbitMQ Spring Boot应用程序中的异常
- 9. 如何使用移动设备管理远程调用android应用程序?
- 10. IBM Connections移动应用程序 - 任何注册的URL处理程序?
- 11. 如何在Django应用程序的CI中处理迁移
- 12. Capistrano部署rails应用程序 - 如何处理长迁移?
- 13. 如何处理应用程序资源
- 14. 如何处理“循环应用程序”?
- 15. 如何处理旧应用程序
- 16. 移动应用程序通常如何管理用户会话?
- 17. 移动应用程序中的RabbitMQ安全性
- 18. 如何在应用程序启动后启动RabbitMQ监听器?
- 19. 使用Web应用程序处理OpenCV
- 20. 移动数据处理Twitter应用程序?
- 21. django pythonforfacebook处理移动应用程序访问?
- 22. 我可以处理iPhone应用程序的移动图标吗
- 23. 在移动Web应用程序中处理页面堆栈
- 24. 移动应用必须处理多少程序?
- 25. 混合移动应用程序中的图像处理
- 26. VS2013 Cordova应用程序,如何在移动应用程序中使用* .less?
- 27. 在EasyNetQ/RabbitMQ消息处理程序中使用Ninject
- 28. 如何使用Pushkit处理应用程序活动/不活动状态
- 29. 如何处理部署有白色标签的平台移动应用程序?
- 30. 你如何处理移动应用程序中的陈旧缓存记录
你究竟是什么意思“耗电量”?因为它消耗太多的CPU周期? – pbhowmick
我的意思是电池,我听说它会在移动设备上耗尽电池电量,因为它会使连接打开时间过长 –