我已经构建了一个小系统,在客户端使用 dnode、shoe 和 browserify,在服务器端使用 NodeJS 和 dnode/shoe。我想知道使用 dnode (RPC) 作为实时 Web 应用程序的唯一协议是否是个好主意。
让我们看看 DNode 或任何其他 RPC 接口的好处。我喜欢能够远程调用函数(RPC)。它绝对优于 Ajax,因为您获得了从客户端到服务器以及从服务器到客户端进行通信的一致接口。我还打赌,由于与 Ajax 相关的 HTTP 开销,您会在 Ajax 上获得一小部分性能。
但是,使用 RPC,您必须处理负载平衡和服务器上的客户端连接。但这适用于任何 websocket 实现。但是,对于其他 websocket 实现,您有一个更传统的基于事件的系统,其中客户端侦听来自服务器的事件并响应这些事件。我尝试使用 EventEmitters 复制这种接口,但这很糟糕,而且我不断收到有关太多处理程序的警告。啊!
我正在寻找一个轻量级、干净的界面,我可以用它来开发我的应用程序。一种感觉健壮并且能够扩展到许多客户的产品。它需要感觉坚实。
我不太确定我在写这篇文章时的问题是什么。我的任务是更新我编写的这个代码库,这样连接就不会丢失,而且它整体上更加健壮。我想我只是迫切需要建议或咨询我的申请。有没有人愿意和我面对面讨论这个话题(RPC 和实时 Web 应用程序)?
谢谢阅读。