因此,我在node.js中编写了一个web应用程序,用户可以上传照片,并且可以在每张照片上指定一些访问控制设置(公共,私人,朋友) 。使用node.js控制对静态内容的访问
然后我检查每个请求上的用户会话密钥以确保他们有权访问。如果他们这样做,我通过使用fs打开它并将它传递给响应对象来向它们发送文件。
但是,当我使用apachebench进行基准测试时,我每秒获得约1500个请求。如果我删除所有数据库的东西,它不会更快。相比之下,Nginx在同一张照片上每秒处理17000个请求。
显然,如果我的服务起飞,这个数量级的差异将会是一个巨大的成本问题。
有没有更好的方法来控制访问,同时保持类似静态的性能,除了使它们全部公开?
编辑:实际上,文件将在S3上托管,而不是在文件系统中。因此,节点将不再是一个静态文件服务器,而更像是一个http代理,我认为它会好得多。
谢谢。我将评估这个选项与代理对s3的请求(从而避免来自重定向的延迟,我怀疑这是不可接受的)。其他选项总是欢迎! – jschall