2

內容的類型對於這個問題並不重要,但我們只是說我想實現一個允許多個用戶在共享列表上進行協作的(本地移動)購物列表應用。實現類似於Evernote的同步功能

像這樣的同步功能通常如何實現自動工作(沒有明確的用戶交互)?是每隔幾秒鐘檢查一下更新版本並在必要時進行更新的首選方法,還是可以推送更改?

一個輪詢解決方案將(相對)容易實現我猜想使用像AWS,Google App Engine之類的東西,或者甚至從LAMP堆棧和REST的頭開始。但我擔心連續投票造成的流量。

嘗試使用推送更新來實現此操作是否切實可行?如果是這樣,我應該研究哪些技術,服務或設計原則? AWS或Google App Engine可以這樣做嗎?或者正在拉動(儘可能減少交通)的方式?

回答

2

在應用程序引擎上,您應該查看通道API。來自overview

Channel API在您的應用程序和Google服務器之間創建一個持久連接,允許您的應用程序在不使用輪詢的情況下實時向JavaScript客戶端發送消息。這對於旨在立即更新用戶有關新信息或用戶輸入立即向其他用戶廣播的應用程序非常有用。一些例子包括協作應用程序,多人遊戲和聊天室。一般來說,在更新無法預測或編寫腳本的情況下,比如在人類用戶之間傳遞信息或系統地生成事件時,使用Channel API是比輪詢更好的選擇。

0

您可以使用一些亞馬遜網絡服務來創建有效的響應式服務。

如果你看看IOS SDK,你可以從AWS site下載,你可以在其中找到一個使用這種服務的服務爲例:S3_SimpleDB_SNS_SQS_Demo

首先,你可以使用SQS,這是排隊服務,它有long polling這將幫助您降低請求的數量。

其次,您可以使用SNS,這是通知(pub/sub)服務。它與SQS集成在一起,您可以subscribe queues to listen to notifications

這些服務(以及其他)可以通過iOS SDK以及其他SDK(Java,.NET,Android ...)以及REST和SOAP API訪問。

相關問題