我期待在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
我的意思是電池,我聽說它會在移動設備上耗盡電池電量,因爲它會使連接打開時間過長 –