2011-09-27 110 views
2

假設實時聊天客戶端(Skype,Windows Live Messenger)使用套接字與其相關服務保持連接,開發人員實施哪些策略來擴展服務器?即使是像Xbox LIVE這樣的系統,用戶可以聊天並向他們的在線朋友發送遊戲邀請。擴展套接字服務器

主要問題是每個連接都必須共享狀態;有些狀態需要被其他客戶端(可以連接到位於世界另一端的負載均衡器後面的不同服務器)查詢。最明顯的就是在線狀態。

這些服務是否使用巨大的基於RAM的緩存(可能類似memcached)或NoSQL數據庫(如Cassandra),世界各地的所有服務器連接並更新並檢索所需的狀態信息。

我想知道這種解決方案對於像我上面描述的那些實時服務是否足夠快(或合理)。

我的主要問題是內存。分佈負載相當直接(我希望)與負載平衡器和循環DNS平衡相結合。

回答

3

這裏是one way。雖然不一定關注基於內存的緩存

+0

這是一個非常有用的鏈接。 – irwinb