我们目前通过单个Apache服务器提供大型(1GB)文件,但我们的Apache服务器极其受磁盘IO限制,我们需要扩展.
我的第一个想法是简单地复制这个Apache服务器,但是我们的文件库太大了,不能简单地水平扩展Apache服务器N次.
所以我的下一个想法是在后端有两个Apaches(高可用性),每个都有我们整个库的单独副本.然后在前面“N”反向代理,随着我们的交付需求增长,“N”增长.每个反向代理都非常重RAM,并且每GB具有尽可能多的主轴.后端Apache服务器更“存档”,低主轴到GB.
这是一个很好的建筑吗?有没有更好的方法来处理它?
最佳答案
这不是一个糟糕的架构(squid是一个流行的反向代理),但如果你期望指数增长Content Delivery Network可能是一个更好的解决方案 – 你只需支付你需要的内容,带宽立即扩展(你不必扩展更多服务器)和流式传输尽可能靠近客户端地址定位到服务器,确保它们获得最大的传输速度.但是我从未尝试过1GB的文件,而且成本可能过高.
在这种情况下,Torrent技术可以被视为p2p CDN,因此these providers中的某些技术可能适合作为内容的种子种子,从而降低总带宽成本和(可能)提高速度,尽管这取决于您的leechers.