0

我想创建一个可以为不同服务器上的文件提供服务的 HttpModule。

服务器 A 可公开访问并接收对 file.txt 的请求。该文件位于服务器 B 上,服务器 A 将其提供给用户。服务器 B 不公开。

使用 HttpModule 完成此任务的最高性能方法是什么?

我可以让服务器 A 从服务器 B 下载文件并将其流回给用户。这将需要服务器 A 的大量资源来执行此操作。

另一种选择可能是服务器 A 将直接从打开的文件共享向服务器 B 提供文件。这可能需要服务器 A 上的更少内存,但仍需要将文件从服务器 B 流式传输到服务器 A。

我希望有某种方法可以将请求重定向到服务器 B,然后文件可以直接从服务器 B 返回到客户端,这可能由服务器 A 促成。

我不能简单地重定向到服务器 B,因为最终用户不能直接使用它。

4

1 回答 1

1

我可能根本不会投资编写 HttpModule,而是会使用 ARR(应用程序请求路由)模块以高性能的方式为您执行“代理”。您还可以使用它的缓存功能,如果某些文件是“热的”,它们可以直接由“前端”服务器下载,而无需访问后端服务器。使用它的缓存将是最快的选择,因为它在缓存方面非常聪明,它也是一种无痛的方式。

它经过优化,每秒可处理数千个请求,并以异步方式进行处理,使其扩展到大量数量。用于许多内容交付网络类型的情况,因此您可以指望它非常快。

于 2013-03-05T02:48:07.023 回答