虽然tornado是一个不错的web服务器,但是在真实的生产环境,我们还是会布置多份,而且一般情况下,份数和cpu核数一样。
首先一个重要的原因是单线程的tornado,在遇到同步的堵塞请求时,会使整个服务都停到那里,这样你就无法在处理新的请求,所谓的同步请求,就是类似数据库查询,
或者是磁盘访问块。
nginx
之前在介绍flask的部署方式时,已经提到nginx的好处了,nginx本身是一个更安全,更专业的服务器,而且对静态资源也有更好的支持,在加上机器上还有其它的web服务要管理,那nginx自然是最好的选择了。
基本流程是:客户端通过Internet连接一个反向代理服务器,然后反向代理服务器发送请求到代理后端的Tornado服务器池中的任何一个主机。