我们的应用程序将有一个网站和一个移动应用程序,它们都与同一个API后端进行通信。我有一个Nodejs应用程序仅用于服务API,另一个有Nodejs应用程序为网站提供HTML页面。我正在为这两个应用程序使用Expressjs Web框架。
从另一个Node.js应用程序调用一个Node.js中的API有哪些不同的方法?有关何时使用每种方法的更多信息将非常有用。
编辑:
示例,我有以下应用
NodejsAPI将提供对MobileApp和NodejsWebsite的API的访问。MobileApp将通过http访问API。但是我想知道NodejsWebsite在NodejsAPI应用程序中调用API的选项是什么。据我了解,这将是两个进程之间的进程间通信。对于.net应用程序,此类通信可以使用.net管道,tcp通信等完成。unix和linux平台上的Nodejs应用程序的等效方法是什么?
从IPC角度思考,我发现以下内容很有用:
什么是最有效的node.js进程间通信库/方法? https://www.npmjs.org/package/node-ipc
有节点的香草http客户端,http客户端瑞士军刀,request,然后还有超级代理,类似于jQuery.ajax。为了使您的生活更轻松,有扶手和fementa,它们是同一事物的两种不同口味。
现在,如果您想获得更高的性能并拥有应用程序的另一个接口,则可以使用以下RPC解决方案之一:
dnode:最受欢迎的解决方案之一。这使事情变得非常容易。这使得无缝使用远程接口成为可能。phantomjs-node使用dnode。与其他物体相比,在处理大型物体时效果不佳。对于小东西,这是完美的。还有其他语言的端口。
smith:cloud9编辑器后端中使用的RPC系统。基本上和dnode一样好,但是速度更快。Smith和zerorpc都使用msgpack而不是JSON,因此它们将在网络上保存字节。
axon-rpc:一种轻量级的解决方案。和zerorpc一样好用。您可以将其配置为将msgpack与axon-msgpack一起使用。
以上所有工作均在TCP(将在不同的计算机上使用)或Unix域套接字(比TCP快,但仅在同一计算机上)上进行。
如果您想获得更高的性能,可以仅通过使用NodejsAPI的接口模块将其嵌入到NodejsWebsite中。
如果您想得到比这更好的答案,请写一个更具体的问题。就目前而言,这个问题太笼统了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句