Jay*_*Jay 5 php mysql sql-server apache image
我有一个简单的问题,希望听到其他人的经验,这是在多个主机上复制图像的最佳方式.
我已经确定将数据存储在数据库中,然后在多个主机上使用数据库复制将导致最大可用性.
我对文件系统的担心是难以同步图像(例如,我不希望5台服务器都为图像命中同一台服务器!).
现在,我在数据库中存储图像的唯一问题是,如果我想要"虚拟"图像链接指向数据库条目,则需要在数据库中进行额外的查询以及额外的处理.(例如AddHandler)
据我所知:
我可能错过了什么,但我很好奇是否有人有更好的想法?
编辑:Tom建议使用mod_rewrite使用AddHandler进行保存,我已经接受了AddHandler问题的建议解决方案; 但是,我还不觉得我有一个完整的解决方案,所以请,请继续回答;)
一些人建议使用lighttpd而不是Apache.lighttpd的ISAPI模块有何不同?
如果将图像存储在数据库中,则会遭受额外的数据库访问,并且会失去 Web 服务器中固有的缓存/文件服务优化。Apache 提供静态图像的速度比 PHP 管理它的速度快得多。
在我们的大型应用程序环境中,我们最多使用 4 个集群:
您会对静态资源服务器可以处理的流量感到惊讶。由于它不是真正的计算(没有应用程序逻辑),因此可以疯狂地优化响应。如果您使用单独的静态资源集群,您也可以自行更改架构的该部分。例如,在某些基准测试中,lighttpd在提供静态资源方面甚至比 apache 更快。如果您有一个单独的集群,则可以更改其中的 http 服务器,而无需更改应用程序环境中的其他任何内容。
我将从 2 台机器的静态资源集群开始,看看其性能如何。这是分离功能的另一个好处——您可以只在需要的地方进行扩展。至于同步文件,请查看现有的文件同步工具,而不是自行推出。您可能会找到不需要编写一行代码就能满足您需要的东西。