首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Node-Js作为消息传递层

使用Node-Js作为消息传递层
EN

Stack Overflow用户
提问于 2016-11-05 22:42:41
回答 1查看 134关注 0票数 3

代码语言:javascript
复制
  (client) node-js http request  <-----------> node-js http listen (server)
             ^                   100/1000 MBit/s     ^
             |                       LAN             |
             v                                       v
     a file in ramdrive                         a file in ramdrive 
            ^                                        ^
            |                                        |  
            v                                        v
        C# program requesting                     C# or Java program      
           compute on data                           computing

比容易

代码语言:javascript
复制
(client)C# tcp ip <--------------------------------->C#/Java tcp ip (server)
           socket      100/1000 Mbit/s LAN                         socket

在错误处理方面(例如半开放连接、确认数据包管理和选择正确的窗口/缓冲区大小)和可伸缩性(对于使用树式连接的10-100台服务器而言)?

如果节点-js层仅用于I/O,那么对于基本交换机/路由器上的集群(例如infiniband ),它会比MPI更好吗?

现在,我正在尝试tcp选项,并且已经有太多的异常需要处理,而且离完成的还有很远的距离。由于桌面操作系统存在最大的连接,在发送/计算数据之前,数组的序列化还需要检查服务器和客户端的权限,还有更多的需要进行权衡。而且在任何地方都说异步是最好的。我刚从一个连接版本的一个线程开始。线程版本还具有持久的本地数据来保存计算设备信息和编译的内核(用于opencl)。

如果我正确理解,mpi和node都需要在服务器和客户端上安装它们的运行时,但是tcp-ip不需要这样的东西。但这不能平衡其他困难,对吗?

我想到了在节点js和C#之间添加漫游,因为从node(和C#)访问文件看起来很容易,而且比tcp连接要担心的事情少得多。当节点js只是传递数据时,Http侦听也几乎是一条线。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-06 00:39:35

不知道你在做什么,很难推荐一个具体的解决方案.但我怀疑你是在重新发明解决方案。

看看Redis。大多数语言都有客户端库,它在网络上工作,处理各种数据类型,甚至支持pub/sub。它被设计成可笑的表演..。Redis的开发人员为许多应用程序做了许多正确的权衡。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40444015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档