eBay的ql.io开发者Subbu Allamaraju在他的博客中介绍了ql.io,“ql.io减少了编写多个HTTP APIs请求的代码量,并且能够减少网络的请求延迟和带宽的占用。”
随着ql.io的推出,eBay也加入到了大型网络服务提供商的软件开发阵营,这其中还包括Twitter的Storm数据流分析工具,LiveJournal的memcached数据缓存软件,Facebook的Scribe日志工具集,以及Google的SPDY HTTP增强工具。
对于Web网站和Web Apps的开发者来说,编写复杂的网络处理代码通常是一件非常痛苦的事情,Allamaraju曾在他的博客中写过一篇《APIs are a pain》的文章介绍了相关的问题。
Allamaraju以一个客户端程序为例进行了说明:一个商业网站的客户端程序需要将商品的相关数据陈列在一个列表中,这需要使用三个独立的API请求,一个处理商品搜寻,一个用于获取商品的详细信息,一个用于收集用户的评论。他表示,编写大量的APIs对程序员来说是一件非常繁重的工作,并且频繁的API调用往往会产生许多不必要的网络带宽,同时对机器的处理能力也是一种浪费。
ql.io帮助开发者将多个请求合并为一个请求,Web服务器通过分析收到的请求将结果打包在一起返回给客户端。
ql.io是一个事件驱动语言,它松散地依赖于SQL数据库和JSON(JavaScript Object Notation)数据交换格式。要运行ql.io的脚本,需要在服务器端安装一个node.js JavaScript解释器。
Allamaraju在GitHub在线代码库中共享了ql.io的源码,还增加了一些使用示例。
原文:http://www.webapptrend.com/2011/12/760.html
【编辑推荐】