请教,两个node程序,在一个服务器上,一个写的都是接口,另外一个主要渲染视图
发布于 5 年前 作者 einsqing 4712 次浏览 来自 问答

如题,渲染视图的程序如何调用另外一个程序的接口?

来自酷炫的 CNodeMD

24 回复

我觉得你在另一个node程序上开一个koa的服务器就行了,koa非常适合做这种情况下的。 然后在渲染视图的服务器上使用http.request取

@zouzhenxing http.request会不会太耗资源?还要经过3次握手啥的

来自酷炫的 CNodeMD

难道就不能写一起,性能还好点呢。分模不分程。

没必要分开吧,要是两台服务器以上还有必要 From Noder

楼主的意思就是前后端分离。 做法一定是HTTP对接的。 正常并发下,一次请求在15ms-25ms

@afghl 是的,前后端分离的,但是不是完全分离的,静态服务器这个,有部分不是分离的,需要渲染视图,用的node

来自酷炫的 CNodeMD

之前也遇到这个问题,前后端分离就用Ajax,前端通过ajax与API通讯, 不分离就直接Express 或Koa, 两个router分别处理HTML和API.

渲染进程 rpc call 接口进程,http 接口的话,至少用下 agentkeepalive 这个包吧

一个是后端服务,一个是前端网站。两个程序之间通信。 http接口,用request。

@Neeil 想一部分分离一部分不分离,api接口已经写好了

来自酷炫的 CNodeMD

@magicdawn 谢谢了,我研究一下

来自酷炫的 CNodeMD

@huangshaohui 有没有类似的项目?

来自酷炫的 CNodeMD

@einsqing

https://github.com/magicdawn/magicdawn/tree/master/node/rpc 这里有两个例子, 一个 grpc / 一个 thrift 的, 可以看看

@einsqing 你参考nodeclub做不分离的部分,不分离的部分直接配合中间件做view部分,分离的就用api咯

@Neeil 这不叫前后端分离, 这是正常做法, 几百年前gmail就用了Ajax了. 前后端分离是指业务逻辑层和视图层的分离, 视图层去业务逻辑拿到数据, 封装, 渲染好了返回浏览器.

这个属于IPC的范畴,进程间的通信。推荐基于tcp协议rpc,不建议用Http,性能比较差。

@halfblood 谢了

来自酷炫的 CNodeMD

那就可以使用http协议进行通信,比如server提供restful接口,client通过http进行数据操作

那就前后端分离呗

服务器端渲染就request,客户端渲染就jsonp了

@winterZhao 主要是request性能不太好

来自酷炫的 CNodeMD

@glj1102 想实现node和node通信

来自酷炫的 CNodeMD

@einsqing node与node通信可以用http协议,也可以用socket

@joesonw 你说的是MVC?

回到顶部