我可以想到有很多技巧可以做到这一点:
>在不同的端口和/或IP上设置副本Web服务器,然后使用DNS作为负载均衡器;一次重启一台服务器
>使用更明确的负载平衡(如Heroku和OpenShift使用的PaaS)和隐式副本
>使用一些内置机制(例如:在Nginx中)
我正在IaaS解决方案中工作,并将设置git和一些监听器来处理整个设置.
什么是重新启动网络服务器的最佳方法 – 所以我的Python网络应用程序的最新版本可以上线 – 而不会明显影响网站访问者/用户/客户?
解决方法:
越简单越好,没有银弹.
>对于单个服务器,正常重启机制可能会有所帮助.它将启动新进程以接受新请求,并维护旧进程,直到旧请求完成. Nginx已经使用了这个,见http://wiki.nginx.org/CommandLine#Stopping_or_Restarting_Nginx
>对于多个服务器,使用反向代理是一种很好的做法.示例结构如下所示,可以使用Nginx轻松构建:
如果某些后端服务器发生故障,则反向代理可以将请求分派给其他正常的服务器,并且不会影响用户.您可以自定义负载平衡策略以进行细粒度控制.您还可以灵活地添加服务器以进行扩展,或者选择服务器进行故障排除或代码更新.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。