Ari*_*e K 1 php web-server load-balancing
将通用 Web 应用程序代码共享到多个 Web 服务器的最佳方式是什么?
例如,我有一个包含用 PHP 编写的 Web 应用程序的目录。现在,我有多台机器可以提供相同的内容,每台机器都运行一个网络服务器,使用 TCP/IP 平衡器进行负载平衡。
对于这种情况,我还没有尝试过 NFS。但是根据Slow NFS transfer performance of small files,传输性能会很慢,因为涉及到很多[小]文件。
编辑:我想将所有文件集中存储在一个位置,因此网络服务器将立即读取代码更新。
我将概述几个选项,以通过 NFS 方法展示实时代码的替代方案。
“最佳”策略取决于您选择的代码部署策略,可能是以下策略之一:
“最佳”策略还取决于应用程序的可用性要求:
在上述选项中,我个人会选择包部署方法。但是,对于 Web 请求,通过 NFS 共享少量文件可以很好地工作:与 Internet 相比,NFS 引入的延迟很小。但在此之前,请考虑以下缺点:
由于这些可能的障碍(IO 绑定文件服务器、网络服务器故障),我还建议定期将网络服务器与应用程序同步。将更改推送到多台机器应该只需要几秒钟。如果需要,您可以设置一些逻辑,例如:if (time() > 23:59:00) {use software in dir B} else {use software in dir A})。如果所有机器都必须运行相同的软件版本,这可能很有用,例如,如果您刚刚更改了数据库架构。
部署过程中的几秒钟延迟确实还不错。在实时系统上工作的开发人员肯定会注意到延迟,但无论如何开发人员都不应该编辑实时系统。
| 归档时间: |
|
| 查看次数: |
1041 次 |
| 最近记录: |