最前面是2台nginx服务器N1,N2用keepalive做高可用
后端是4台tomcat T1,T2,T3,T4做集群(使用memcached解决session共享问题)
代码里面会有一些js/css等静态文件,比较好处理,可以在这6台服务器间源代码同步。
系统会上传大量的pdf/doc这样的文件,并且需要转换成swf格式供以后预览,所以用T3,T4来专门处理。其它普通业务交给T1,T2
那么问题来了,客户端要访问一个pdf或swf文件,请求发给nginx,这里肯定不能拦截下来,因为本地只有js/css这类静态文件,没有doc/pdf,于是用location proxy_pass到T3,T4,但T3,T4上只有tomcat,它处理静态文件效率肯定不行。怎么办?
我的思路有两种:
- 使用共享文件系统,但稳定性有待考察
- 后端再用一个apache
不知道大家是怎么解决的?
这个问题是要沉了吗?这个场景应该很多,有现成的可以参考的解决方案吧