不懂就问: node.js 做静态资源服务器如何?

2020-09-09 23:02:41 +08:00
 cat
有个轻业务,访问量不大,后端已经用 koa 写了,现在需要提供图片及其它文件给前端,请问可以直接在 koa 中返回文件的 stream 吗?

如果文件比较大( 100M 以内)是否还合适?

以前都是由 nginx 提供,现在为了省一个流程,想用 koa 直接做 http server
6108 次点击
所在节点    Node.js
32 条回复
Danswerme
2020-09-09 23:06:46 +08:00
一般不都是 nginx 做静态资源服务器,然后其他请求用 proxy_pass 转发给后面的 koa 之类的么?你这是直接用的 koa ?
haleyao
2020-09-09 23:08:49 +08:00
应该是可以的吧
这有个基准测试
centminmod.com/siegebenchmarks/2013/020313/
cat
2020-09-09 23:11:36 +08:00
@Danswerme 对…
opengps
2020-09-09 23:13:26 +08:00
静态资源服务器。。直接一个站点目录就是了,何必用 node 绕一层?
zengming00
2020-09-09 23:20:25 +08:00
大胆用,出问题再说
xcatliu
2020-09-09 23:28:40 +08:00
可以的,我在司内搭了一个类似 gh-pages 的服务,就是用 koa 做静态服务,日访问挺大的,还有人放视频,都用起来没问题。
cat
2020-09-09 23:40:04 +08:00
@haleyao 谢谢大佬

@xcatliu 听起来不错
wangyzj
2020-09-09 23:42:34 +08:00
nginx 不就行了?
cat
2020-09-09 23:43:58 +08:00
@wangyzj 项目需要 能少就少
wunonglin
2020-09-09 23:56:23 +08:00
@cat #9 不对不对,用 nginx 不比你 node 性能还好?能少就少是指什么
foru17
2020-09-10 00:08:27 +08:00
建议 nginx,或者静态资源放外部 cdn,哪怕丢其他服务器都好。
cat
2020-09-10 00:29:42 +08:00
@wunonglin

根据上面的链接,node.js 性能更好;

我发帖问的目的就是想知道,就算 node.js 比 nginx 差,是差多少?在哪种场景差最多?根据对比来决定用不用 node.js 。

回个贴说用 nginx 是很容易,但项目需要只有自己清楚,如果各位在用 node.js 做类似事情的时候踩过坑,或者了解过一些对比,非常欢迎给出来 互相讨论 互相参考,我相信比一句用 nginx 更有价值。
duan602728596
2020-09-10 00:32:48 +08:00
用呗,访问量不大的话,还没到考虑性能的时候
shynome
2020-09-10 00:33:07 +08:00
nodejs 单线程只吃一个核比不得 nginx 吃满的
shynome
2020-09-10 00:36:46 +08:00
@cat 上面的链接并没有给出代码及可重现的步骤,所以测试结果不具有可信度
xcstream
2020-09-10 00:38:29 +08:00
放视频的话 好像不能拖动进度条
sologgfun
2020-09-10 08:17:21 +08:00
访问量不大肯定可以哎
cat
2020-09-10 08:18:28 +08:00
@shynome 也对,还是自己测一下吧
SoloCompany
2020-09-10 08:43:40 +08:00
纯静态资源服务走的是 sendfile, 吃的是 io, 多核性能提升的意义不大, 直接用 node 没啥大问题
janxin
2020-09-10 10:01:35 +08:00
访问量不大跑个什么服务都行的,没这么多需要考虑的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/705637

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX