Node.js 实时内容与 DNode/shoe 以及所有有关负载平衡的内容

标签 node.js real-time rpc dnode

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

让我们看看 DNode 或任何其他 RPC 接口(interface)的好处。我喜欢能够远程调用函数 (RPC)。它绝对胜过 Ajax,因为您可以获得从客户端到服务器以及服务器到客户端的一致通信接口(interface)。我还敢打赌,由于 Ajax 涉及 HTTP 开销,因此您会获得比 Ajax 稍高的性能。

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

我希望实现一个轻量级、干净的界面,我可以用它来开发我的应用程序。一种感觉很强大并且能够扩展到许多客户的产品。它需要感觉坚固。

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

感谢您的阅读。

最佳答案

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

关于Node.js 实时内容与 DNode/shoe 以及所有有关负载平衡的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15169593/

相关文章:

node.js - iisnode 的权限和请求

node.js - 跨 Node 应用程序共享 Redis session

hadoop - MapReduce 连续执行

音轨 : AUDIO_OUTPUT_FLAG_FAST denied by client due to mismatching sample rate

wpf - ViewModel 树与频繁更新的模型树

java - 如何在GWT上安全地生成HTML页面?

javascript - 从动态外部文件运行 Nodejs 函数

node.js - 循环遍历对象并将它们添加到 Sequelize db

python - 是否有 web2py 远程过程调用的开源引用?

rest - 将 RPC 接口(interface)转换为 REST