关于用 Nginx 来动静分离的疑问

2020-11-08 17:34:19 +08:00
 skypyb

假设有两台服务器 A/B 均部署了一个服务, 其中 A 上有一个 Nginx 用来负载均衡&动静分离。

提问:
1.是不是所有的静态资源上传的逻辑必须强制走 A 服务器? 如果这样子当发布时 A 可能会下线, 岂非上传相关的接口都不能用?
2.A/B 的接口流量&静态资源的流量都从 A 这里流出, 是不是表示 A 的带宽配置必须要够顶?

1877 次点击
所在节点    程序员
7 条回复
37Y37
2020-11-08 18:06:55 +08:00
对于文件上传和静态资源一般都用对象存储
skypyb
2020-11-08 18:58:43 +08:00
@37Y37 不考虑对象储存呢。。
37Y37
2020-11-08 19:04:43 +08:00
@skypyb 共享存储了解下
loading
2020-11-08 19:52:49 +08:00
rewrite 不行吗?
skypyb
2020-11-08 20:57:18 +08:00
@loading rewrite 是指什么?
lscho
2020-11-08 21:05:40 +08:00
1.是不是所有的静态资源上传的逻辑必须强制走 A 服务器? 是。
如果这样子当发布时 A 可能会下线, 岂非上传相关的接口都不能用?是。但问题不在负载均衡和动静分离上。服务下线肯定会导致接口不能用,所以下线前需要将流量转至备用服务器。

2.A/B 的接口流量&静态资源的流量都从 A 这里流出, 是不是表示 A 的带宽配置必须要够顶?是。

那么问题来了,你动静分离了接口服务和静态资源还放到一个服务器上,还有什么意义吗?
skypyb
2020-11-08 21:11:36 +08:00
@lscho 因为上传文件有的是要做控制比如鉴权之类的。。。 nginx 就直接和服务放一起了。

关于你说的 [流量转至备用服务器] 是指将上传接口的流量转到某服务器然后用 ssh 之类的机制的传到 A 服务器么?
不这样的话上传的资源就不在指定的静态资源目录了

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

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

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

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

© 2021 V2EX