首页 理论教育基于HTTPSQS的开发实战

基于HTTPSQS的开发实战

【摘要】:HTTPSQS是一款用于解决消息队列的开源软件,能够高效地运行在BSD、Linux等服务器上。与Memcache一样,HTTPSQS也是使用异步事件触发来唤醒进程的,能够确保数据及时入队和出队,如图8-4所示。图8-4 HTTPSQS队列数据过程数据出队时,由先入先出的规则进行出队,出队时需要经过验证器,验证器会对队列进行校验,例如密码是否正确等。接下来将全面介绍HTTPSQS的实战应用,本节内容需要读者掌握基本的Linux网络知识。

HTTPSQS是一款用于解决消息队列的开源软件,能够高效地运行在BSD、Linux等服务器上。HTTPSQS拥有Tokyo Tyrant数据持久化的特性,也拥有Memcache大内存储存的功能,极大地提高了数据完整性和队列吞吐量。与Memcache一样,HTTPSQS也是使用异步事件触发来唤醒进程的,能够确保数据及时入队和出队,如图8-4所示。

图8-4中,数据首先由接口提交给HTTPSQS队列服务器,HTTPSQS内置有过滤器,它能够对数据进行验证或加密;然后将数据按先来先到的规则从低到高进行列队,并且为每个队列添加唯一的pos值,一个队列占一块储存区(相同于数据表),一个队列里最多可以存放10亿条数据。

978-7-111-42852-7-Part02-331.jpg

图8-4 HTTPSQS队列数据过程(www.chuimin.cn)

数据出队时,由先入先出的规则进行出队,出队时需要经过验证器,验证器会对队列进行校验,例如密码是否正确等。最后由MVC程序处理出队的数据,例如将数据永久存放到数据库、发送到邮件系统、手机短信系统等,完成整个消息队列的过程。

需要说明的是,在数据入队后HTTPSQS并不能监控数据何时到达,所以并不能自动将数据推出队列,但是使用Linux的计划任务或者监控脚本,即可实现自动出队。与国外成熟的消息队列软件相比,HTTPSQS为了提高性能简化了过滤器、验证器并且只提供单一的出入队方式,使得整个软件体积不到900KB,对于追求性能的网站再合适不过了。关于HTTPSQS的更多介绍,读者可以查看项目托管地址http://code.google.com/p/httpsqs/。接下来将全面介绍HTTPSQS的实战应用,本节内容需要读者掌握基本的Linux网络知识。