我已經建立了一個小系統,在客戶端上使用dnode,shoe和browserify,並在服務器端使用NodeJS和dnode/shoe。我想知道是否使用dnode(RPC)作爲實時Web應用程序的唯一協議是個好主意。Node.js實時與DNode /鞋和所有關於負載平衡的東西
讓我們看看DNode或任何其他RPC接口的優點。我喜歡能夠遠程調用功能(RPC)。它確實勝過Ajax,因爲您可以獲得一致的從客戶端到服務器和服務器的通信接口。我還打賭,由於涉及Ajax的HTTP開銷,您在Ajax上獲得了一小部分的性能。
但是,使用RPC,您必須處理服務器上的負載平衡和客戶端連接。但是這與任何websocket實現一致。但是,在其他websocket實現中,您有一個更傳統的基於事件的系統,其中客戶端偵聽來自服務器的事件並響應這些事件。我嘗試使用EventEmitters來複制這種接口,但這太糟糕了,並且我一直收到太多處理程序的警告。啊!
我期待實現一個輕量級,乾淨的接口,我可以用它來開發我的應用程序。感覺健壯,能夠擴展到許多客戶。它需要感覺紮實。
我不太確定我的問題是在寫這篇文章。我的任務是更新我編寫的代碼庫,以便連接不會丟失,並且總體上更加健壯。我想我只是渴望諮詢或諮詢我的申請。有人願意與我討論這個話題(RPC和實時網絡應用程序)時面對面嗎?
感謝您的閱讀。
太棒了!這是一個很好的回覆!我剛剛看完了關於SocketStream的Barne談話,並且讓我對框架感興趣。我需要看看它是如何工作的。非常感謝! :) – Sam 2013-03-02 06:49:32
沒問題。很高興我能指出你朝那個方向發展。另外請看一下這篇關於如何使用RabbitMQ在後端調整NodeJS的有趣文章:http://blog.cloudfoundry.com/2013/01/31/scaling-real-time-apps-on-cloud-foundry-使用節點-JS-和-的RabbitMQ / – JimTheDev 2013-03-02 20:30:42