http://nginx.org/en/docs/njs/examples.html
nginx.conf
js_include fastresponse.js;
location /start {
js_content content;
}
location /foo {
proxy_pass http://backend1;
}
location /bar {
proxy_pass http://backend2;
}
fastresponse.js:
function content(r) {
var n = 0;
function done(res) {
if (n++ == 0) {
r.return(res.status, res.responseBody);
}
}
r.subrequest('/foo', r.variables.args, done);
r.subrequest('/bar', r.variables.args, done);
}
利用异步调用的特性,谁先返回谁就是最快的。虽然可能有点浪费资源,但是这个思路实在是很有趣。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.