2013-01-17 57 views
4

我正在嘗試創建一個後端,我可以讓許多用戶在我創建的iPhone應用程序中相互溝通。我已嘗試與Core Data,Google App Engine,Google Cloud Storage和Amazon Web Services(RDS & Elastic Beanstalk)合作。不幸的是,經過數週的努力才得以實現這一目標,它們都不會!使用iOS的雲端存儲選項

我一直在試圖與想要了解像Instagram,Path和Pinterest等創業公司(當他們很小)時如何設法做到這一點的人取得聯繫。但每個人似乎都鄙視這個東西,就像我正在成長爲...

我很想有人簡單地映射出我需要如何創建一個後端數據庫,我可以保存和查詢數據傳入許多用戶可以看到的數據。這意味着只有SQLite,Core Data或Parse本身不會在這裏工作!

某種教程是不可思議的。

回答

6

首先,CoreData和sqlite等技術通常都是本地設備存儲。本地設備存儲不會讓你共享雲存儲。

Parse.com是設備訪問雲存儲並快速發展的快速途徑。特別適用於遊戲和其他移動應用程序通過應用程序ID和應用程序密鑰訪問雲端數據。這是簡單的存儲,以避免創建自己的後端,如果它滿足您的所有需求和要求。

當你到達一個多租戶雲端後端,在這裏你將自己的服務和多個設備連接到你的雲應用,你需要考慮暴露你的web API。通過http公開RESTful API非常適合設備和Web客戶端。將數據公開爲JSON對網絡來說尤其方便,並且易於被設備使用。

雲中的這些Web服務端點訪問某種後端存儲,這種後端存儲針對多個客戶端的併發訪問進行了優化。這通常是一個SQL後端,如MySQL,SQLServer的等等或NoSQL解決像mongodbcouchDB等..

一些前端的Web API技術來考慮:

一些後端存儲技術來考慮:

  • SQL:MySQLSQLServer/Azure SQL,甲骨文
  • 的NoSQL:MongoDB中,CouchDB的,亞馬遜S3簡單的存儲,等等...

如果這些數據被許多多租戶客戶端使用,後端可以擴展(更大或更大)或分片。分片是將多個用戶的數據分割成多個數據庫或數據存儲的地方,並且具有某種查找算法,用於請求查找用戶數據的存儲位置。前端Web API服務器抽象後端存儲。

最後,你最終會需要某種形式的緩存/快速查找技術的(如果你成功了:):

  • Redis:快,記憶存儲在插槽
  • memcached:Facebook的用途 - 許多前端服務器內存緩存中的簡單鍵值。

您的問題是一個開放式問題,所以從谷歌搜索許多這些術語和技術開始。

每個鏈接都有資源和教程。獲得一個雲虛擬機,與每個虛擬機一起玩,並決定哪個最適合您的需求。沒有一種適合所有解決方案的解決方案。

+1

您會發出這樣的聲音,好像它需要一個由10位工程師組成的團隊才能完成:D – jakenberg

+0

我列出了所有要研究的技術。如果你有一個簡單的應用程序,那麼一位工程師可以用你選擇的技術來實現它。如果你有複雜的需求和高規模,那麼,是的,一個複雜的後端可能需要很多工程師來完成和維護。這是您的需求和規模的函數,而不是您的技術選擇。 – bryanmac

+0

當然。我明白你說的是什麼,但它似乎並不需要同時需要這麼多的技術,只是爲了從iPhone到數據庫進行簡單的查詢。我想要做的是相當於早期的Twitter iOS應用程序。 – jakenberg

相關問題