node.js - Using Node-Js as message passing layer -
is
(client) node-js http request <-----------> node-js http listen (server) ^ 100/1000 mbit/s ^ | lan | v v file in ramdrive file in ramdrive ^ ^ | | v v c# program requesting c# or java program compute on data computing
easier than
(client)c# tcp ip <--------------------------------->c#/java tcp ip (server) socket 100/1000 mbit/s lan socket
in terms of error handling(such half-open connections, acknowledgement packet management , picking right window/buffer size) , scalability (for 10-100 servers using tree-like connections)?
if node-js layer used i/o, better mpi cluster on basic switches/routers(not infiniband example)?
for now, i'm trying tcp-ip option , have many exceptions handle , far finished. there max connections because of desktop os, serialization of arrays need checking against endianness of server , client , many more counterpoise before sending/computing data. everywhere says async best. started 1 thread 1 connection version. threaded version has persistent local data hold compute device information , compiled kernels(for opencl).
if understand correctly, both mpi , node-js need runtime installed on servers , clients tcp-ip doesn't need such thing. wouldn't balance other difficulties it?
adding ramdrive between node-js , c# came mind because looks easy access file node-js(and c#) less things worry tcp connection. http listening one-liner in node-js when passing data.
without knowing specifics of you're doing, it's hard recommend specific solution... suspect you're re-inventing solution.
check out redis. there client libraries language, works on network, handles kinds of data types, , supports pub/sub. it's built ridiculously performant... developers of redis made lot of right trade-offs many applications.
Comments
Post a Comment