我一直在嘗試學習和玩一些雲計算客戶端/服務器交互。我希望得到的技術堆棧符合這一標準的建議:查找適合的雲客戶端/服務器技術堆棧的故障
- 客戶端是指異步通信的使用的WebSockets,長輪詢和服務器發送的事件的網絡瀏覽器。
- 服務器是可擴展的,並且在需要時應該支持多個實例(對於我的玩耍/學習案例,我顯然不會遇到可伸縮性問題,但我想正確計劃它,並且將使用多個節點進行測試)
- 服務器狀態應該使用一些數據庫技術與ORM
- 服務器狀態應該能夠被緩存
- 服務器應該能夠支持這樣一個場景,愛麗絲連接到實例A確實是持久的東西,鮑勃連接到實例B需要通知
- 沒有開發成本(假設我使用自己的硬件)
我以爲我有這個想通了。我在想:
的JavaEE /碼頭+ Maven的爲2級緩存和多實例支持服務器上的東西和部署
休眠的ORM和數據庫不可知論
Redis的
我的問題是使用各種瀏覽器協議的客戶端/服務器通信,這些協議足夠不同且不平凡以支持無縫。我環顧四周,找到了Atmosphere框架:
用於使用websockets,長輪詢和服務器發送事件的客戶端/服務器通信的環境。此外,它顯然支持Redis,但...
這一切看起來不錯,直到一些研究後,我意識到Atmosphere不支持基於節點的廣播(標準#5)。 Atmosphere的Redis支持很淺(本地主機只是開箱即用),我需要使用Redis來維護某種節點/廣播地圖,以滿足標準#5。 AtmospherePro顯然做得很好,但是有一個我無法證明的成本(標準#6)。
任何人都可以爲我的標準建議一個合適的技術堆棧嗎?也許是雲端環境的替代方案?
的遊戲框架看起來很有趣,我會看看,謝謝! – user2826133 2015-04-03 05:40:15
它看起來像Play框架是無狀態的,如何輕鬆實現場景#5? – user2826133 2015-04-03 06:22:56
沒錯,但你可以很容易地創建有狀態的阿卡演員,並保持#5的邏輯 – sap1ens 2015-04-03 13:49:12