代码之家  ›  专栏  ›  技术社区  ›  b_erb

用于静态内容的轻量级HTTP应用程序/服务器

  •  3
  • b_erb  · 技术社区  · 16 年前

    我需要一个可扩展和性能的HTTP应用程序/服务器,将用于静态文件服务/上传。所以我只需要你的支持 GET 和 PUT

    不过,我还需要一些额外的功能:

    • 自定义身份验证:我需要 因此,我必须能够整合资产 数据库交互。
    • 签名访问密钥:访问 资源via 应该签字 使用类似 http://uri/?key=foo 然后密钥包含有关请求的信息,比如md5(user+path+secret),它允许我阻止不需要的请求。应用程序/服务器应该允许我检查这个。
    • 性能:我想尽量避免管道内容。否则,整个应用程序可以在Perl/etc中以CGI的形式在几行代码中实现。

    帕尔巴尔 (在webserver模式下)看起来不错,但是单线程模型不适合我的数据库查找,而且它也不支持查询字符串。

    为这些任务准备一些模块,但是如果不编写自己的扩展/模块,将所有的东西放在一起是不可行的。

    那你怎么解决这个问题呢?是否有其他leightweight Web服务器可用于此?

    提前谢谢!

    2 回复  |  直到 16 年前
        1
  •  4
  •   Charles Ma    16 年前

    看看nodejs http://nodejs.org/

    http://wiki.github.com/ry/node/modules

    您可能需要编写自己的文件上载处理程序,或者使用本示例中的一个处理程序 http://www.componentix.com/blog/13

        2
  •  3
  •   actual    16 年前

    nginx+spawn fcgi+fcgi应用程序是用C+memcached+sqlite编写的,用于类似的任务。对于小数据和来自同一本地网络的快速连接,延迟大约为20-30ms。据我所知,生产服务器每秒处理大约100-150个请求,没有问题。在测试服务器上,我的峰值是每秒20k个请求,同样没有问题,平均延迟约为60ms。积极的缓存和UNIX域套接字是关键。

    不知道该配置在频繁的 PUT 在我们的任务中,请求非常罕见,通常是成批处理的。