CNode

一个关于node后端开发的问题,求解惑

Bbacksapce发布于12 年前最后回复12 年前6 回复5216 浏览0 收藏

纯新手,我在看了几个node项目之后,产生一个想法,不知道正确否,想请各位为我解惑. 用cnode社区项目来说吧,cnode渲染一张页面的时候,过程大概是这样的 1-接受请求 2-路由选择,跳转到对应的中间件处理,中间件的过程大致如此

func 1--得到数据a
func 2--在1的回调函数中得到数据b
func 3--在2的回调函数中得到数据c
...

在最后的一个回调函数中把这些数据传递到渲染模块,然后返回给浏览器. 这和我以前开发javaweb的套路很类似.

我感觉这还是一种顺序执行.如果假设所有的数据没有依赖要求,能不能把每个数据都当成单独的连接请求发给浏览器,当浏览器请求页面的时候,直接渲染一张框架,然后在浏览器端来请求这些数据,这样所有的数据都是异步给出去.而不是在服务端整理好一起渲染出来给用户.既然node的优势是高并发,那么这种方案是否能够得到更好一点呢?

查看回复

回复 (6)

J
JacksonTian#1·12 年前

这样客户端的开销比较大,多出一些http连接。带宽会浪费些。

B
backsapce#2·12 年前
引用 JacksonTian这样客户端的开销比较大,多出一些http连接。带宽会浪费些。

@JacksonTian 嗯,是的,客户端和服务端都需要更多的http连接

Z
zhou-yg#3·12 年前

前段优化里就有包括尽可能的合并资源文件以减少http的请求次数来自高页面渲染的效率和稳定性。http请求实在是太耗时且不可控。

O
okoala#4·12 年前

你可以考虑bigpipe,以块的形式输出。可以做到在不增加http请求的情况下,达到极速输出。这是node的优势。

F
faceair#6·12 年前

前端用angular渲染页面 后端提供纯RESTful的api ?

参与回复
登录后即可参与回复。登录