2014-02-24 83 views
2

因此我想用Cocoa構建一個可伸縮服務器,它可以處理很多客戶端。使用Cocoa的可伸縮服務器

我想這將不可能在一臺服務器上,因爲他們有他們的網絡連接限制或可能嗎?然後我想到了幾乎是實時地在多個進程(在同一個或不同的服務器上)之間共享的數據庫,所以當進程A發生變化時,進程B,C,D同步,因此所有進程都有相同的數據。 這是正確的方法嗎?這可以用CoreData做出還是有更好的選擇?我從來沒有聽說過Cocoa在服務器系統中使用過,因此在服務器系統中編寫一個服務器是一個壞主意?

謝謝。

回答

1

我的投票沒有在服務器端使用CoreData,因爲sqlite不符合我的標準到服務器端數據庫,不確定這對於併發訪問和多連接是否有好處。

+0

CoreData的併發性很難,或者至少它似乎基於我讀過的SO問題。什麼是CoreData的一個很好的選擇? – thomasguenzel

+1

我認爲是與你選擇的db後端有關,你應該自己寫數據訪問層 – sage444

+0

你可以推薦任何db後端,這對於很多數據集很好嗎?我一直使用MySQL直到現在,但我希望將數據庫集成到應用程序中,而不是作爲獨立進程。 – thomasguenzel

1

我建議使用已經建立了一個經過驗證的基礎架構的衆多(許多)即用型服務之一,該架構可以正常工作和擴展。這不是一項簡單的任務。

FWIW我們正在使用quickblox

+0

看起來不錯!但它似乎更像是一個最終用戶的軟件,而不是保持多個服務器實例同步。 – thomasguenzel

+1

它是一個框架/ API,可用於構建可伸縮應用程序,即他們已經爲您實施了所有服務器服務。這非常酷,並有一個免費的入門級。 – cacau

+0

我已經閱讀了一點,它確實看起來像一個很酷的工具,我一定會把它列入未來項目的名單!但在這種情況下,我需要將數據安全地存儲在我的服務器上。雖然我認爲這可能適用於小型/中型/大型計劃,但主要側重於不同於我需要的事情,這是一個可管理的數據庫。 – thomasguenzel