1

我已经构建了一个小系统,在客户端使用 dnode、shoe 和 browserify,在服务器端使用 NodeJS 和 dnode/shoe。我想知道使用 dnode (RPC) 作为实时 Web 应用程序的唯一协议是否是个好主意。

让我们看看 DNode 或任何其他 RPC 接口的好处。我喜欢能够远程调用函数(RPC)。它绝对优于 Ajax,因为您获得了从客户端到服务器以及从服务器到客户端进行通信的一致接口。我还打赌,由于与 Ajax 相关的 HTTP 开销,您会在 Ajax 上获得一小部分性能。

但是,使用 RPC,您必须处理负载平衡和服务器上的客户端连接。但这适用于任何 websocket 实现。但是,对于其他 websocket 实现,您有一个更传统的基于事件的系统,其中客户端侦听来自服务器的事件并响应这些事件。我尝试使用 EventEmitters 复制这种接口,但这很糟糕,而且我不断收到有关太多处理程序的警告。啊!

我正在寻找一个轻量级、干净的界面,我可以用它来开发我的应用程序。一种感觉健壮并且能够扩展到许多客户的产品。它需要感觉坚实。

我不太确定我在写这篇文章时的问题是什么。我的任务是更新我编写的这个代码库,这样连接就不会丢失,而且它整体上更加健壮。我想我只是迫切需要建议或咨询我的申请。有没有人愿意和我面对面讨论这个话题(RPC 和实时 Web 应用程序)?

谢谢阅读。

4

1 回答 1

0

我一直在研究一些相同的主题,因为在我看来,一些 RPC 库非常酷,但对于大型应用程序并不完全实用。我实际上是从 NowJS 开始的,意识到这是一个死项目,转移到 DNode/Shoe/Browserify,最后转移到了SocketStream试图将一些肮脏的工作转移到一个有统一目标的项目上。我真的不想重写其他人已经在这个主题上所做的事情,而 socketstream 让这一切变得容易。回到您的问题,正如您在他们的页面上看到的那样,SocketStream 使用粘性会话。这是一个很大的假设,但如果没有进一步的发展,目前可能无法解决这个问题。我提到它的原因是他们谈论了他们正在做的一些事情,就扩展而言。我们是否值得一读或联系开发人员,看看您是否可以与他讨论一下。祝你好运!

于 2013-03-02T05:47:39.360 回答