【发布时间】:2009-06-09 21:45:45
【问题描述】:
我正在尝试构建一个网络图像服务器。它同时为许多客户(10 000+)提供图像。 (如果客户端较少,问题会更容易。)有什么好的方法,时间延迟越小越好。
我是这个领域的新手。欢迎提出任何建议。
【问题讨论】:
-
您是否考虑过使用现有的图像服务器? en.wikipedia.org/wiki/Image_server
标签: image
我正在尝试构建一个网络图像服务器。它同时为许多客户(10 000+)提供图像。 (如果客户端较少,问题会更容易。)有什么好的方法,时间延迟越小越好。
我是这个领域的新手。欢迎提出任何建议。
【问题讨论】:
标签: image
一定要四处寻找优质的送货服务。 Akamai 是最著名的。
如果您真的想自己做,请忘记 Apache/IIS。 更更合适的是“轻量级”网络服务器。两个非常好的是lighthttp 和NginX (wiki)。尤其是 NginX,性能非常可靠。
编辑:内容分发网络 (CDN) 在过去几年蓬勃发展,而且更容易找到更简单、更便宜的网络。特别是,将您的静态内容放入 Amazon 的 S3 并使用 CloudFront 非常简单。
【讨论】:
如果您想设计速度最快、延迟最低的静态文件网络服务器,我会这样做。
这本质上是 IO 完成端口减去文件缓存。此模型适用于 Windows 和 Solaris。
http://technet.microsoft.com/en-us/sysinternals/bb963891.aspx
(来源:microsoft.com)
【讨论】:
对于这么多客户端,您可能需要考虑使用内容交付网络(例如 Akamai)。从表面上看,它可能看起来很昂贵,但如果你真的考虑维护硬件的成本,尤其是带宽成本,它就会开始具有经济意义。
【讨论】:
如何提供图像?图像是即时生成的吗?还是它们是静态的并以 .jpg 或其他格式存储在文件系统上?
无论哪种方式,我都会使用 ASP.NET .ashx(通用处理程序)并使用 System.Drawing 类。
您还需要根据http://support.microsoft.com/kb/323431 设置 TCP/IP 网络负载平衡
【讨论】: