<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[张宴的博客]]></title> 
<link>http://zyan.cc/index.php</link> 
<description><![CDATA[Web系统架构与底层研发]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[张宴的博客]]></copyright>
<item>
<link>http://zyan.cc/httpsqs/</link>
<title><![CDATA[基于HTTP协议的轻量级开源简单队列服务：HTTPSQS[原创]]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[Cache与存储]]></category>
<pubDate>Tue, 29 Dec 2009 23:01:05 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs/</guid> 
<description>
<![CDATA[ 
	　　[文章作者：张宴 本文版本：v1.7.1 最后修改：<span style="color: #FF0000;">2011.11.04</span> 转载请注明原文链接：<a href="http://blog.zyan.cc/httpsqs/" target="_blank">http://blog.zyan.cc/httpsqs/</a>]<br/><br/>　　HTTPSQS（HTTP Simple Queue Service）是一款基于 HTTP GET/POST 协议的轻量级开源简单消息队列服务，使用 Tokyo Cabinet 的 B+Tree Key/Value 数据库来做数据的持久化存储。<br/><br/>　　<span style="font-size: 14px;"><span style="color: #FF0000;">项目网址</span>：<a href="http://code.google.com/p/httpsqs/" target="_blank">http://code.google.com/p/httpsqs/</a></span><br/>　　<span style="font-size: 14px;"><span style="color: #FF0000;">使用文档</span>：<a href="http://blog.zyan.cc/httpsqs/" target="_blank">http://blog.zyan.cc/httpsqs/</a></span><br/>　　<span style="font-size: 14px;">使用环境：</span>Linux（同时支持32位、64位操作系统，推荐使用64位操作系统）<br/>　　<span style="font-size: 14px;">软件作者：</span>张宴<br/><br/>　　队列（Queue）又称先进先出表（First In First Out），即先进入队列的元素，先从队列中取出。加入元素的一头叫“队头”，取出元素的一头叫“队尾”。利用消息队列可以很好地异步处理数据传送和存储，当你频繁地向数据库中插入数据、频繁地向搜索引擎提交数据，就可采取消息队列来异步插入。另外，还可以将较慢的处理逻辑、有并发数量限制的处理逻辑，通过消息队列放在后台处理，例如FLV视频转换、发送手机短信、发送电子邮件等。<br/><br/>　　<strong>HTTPSQS 具有以下特征：</strong><br/><br/>　　● 非常简单，基于 HTTP GET/POST 协议。PHP、Java、Perl、Shell、Python、Ruby等支持HTTP协议的编程语言均可调用。<br/>　　● 非常快速，入队列、出队列速度超过10000次/秒。<br/>　　● 高并发，支持上万的并发连接，<a href="http://www.kegel.com/c10k.html" target="_blank">C10K</a>不成问题。<br/>　　● 支持多队列。<br/>　　● 单个队列支持的最大队列数量高达10亿条。<br/>　　● 低内存消耗，海量数据存储，存储几十GB的数据只需不到100MB的物理内存缓冲区。<br/>　　● 可以在不停止服务的情况下便捷地修改单个队列的最大队列数量。<br/>　　● 可以实时查看队列状态（入队列位置、出队列位置、未读队列数量、最大队列数量）。<br/>　　● 可以查看指定队列ID（队列点）的内容，包括未出、已出的队列内容。<br/>　　● 查看队列内容时，支持多字符集编码。<br/>　　● 源代码不超过800行，适合二次开发。<br/><br/>　　<a href="http://zyan.cc/attachment/200912/httpsqs_elements.png" target="_blank"><img src="http://zyan.cc/attachment/200912/httpsqs_elements.png" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/><hr/><br/>　　<strong>1、HTTPSQS 1.7 压力测试：</strong><br/><br/>　　采用Apache ab命令进行压力测试，开启10个线程，放入10万条文本数据（每条512字节）到队列中:<br/>　　使用HTTP Keep-Alive时：23018 requests/sec<br/>　　关闭HTTP Keep-Alive时：11840 requests/sec<br/><br/>　　采用Apache ab命令进行压力测试，开启10个线程，从队列中取出10万条文本数据（每条512字节）:<br/>　　使用HTTP Keep-Alive时：25982 requests/sec<br/>　　关闭HTTP Keep-Alive时：13294 requests/sec<br/><br/>　　详细测试内容：<a href="http://code.google.com/p/httpsqs/wiki/BenchmarkTest" target="_blank">http://code.google.com/p/httpsqs/wiki/BenchmarkTest</a><br/><br/>　　生产环境应用：在<a href="http://www.xoyo.com" target="_blank">金山游戏官网</a>中，新闻、论坛帖子、客服公告、SNS社区等发生的增、删、改操作，文本内容实时写入HTTPSQS队列，全站搜索引擎增量索引准实时（1分钟内）更新的数据源取自HTTPSQS。HTTPSQS 2009年12月18日上线至今，运行稳定，既有来自Web服务器的入队列操作，也有来自命令行脚本的批量入、出队列操作。<br/><br/><hr/><br/>　　<strong>2、HTTPSQS 的生产环境应用：</strong><br/><br/>　　●金山通行证（<a href="https://my.xoyo.com" target="_blank">https://my.xoyo.com</a>）<br/>　　队列应用类型：手机短信上行、手机短信下发、邮件下发<br/>　　队列应用要求：稳定性高，存储数据量大<br/>　　队列部署结构：一主、一备两台 HTTPSQS 热备模式<br/><br/>　　●金山用户行为分析系统（<a href="http://kbi.xoyo.com" target="_blank">http://kbi.xoyo.com</a>）<br/>　　队列应用类型：用户鼠标点击、访问URL原始数据采集<br/>　　队列应用要求：并发性能高，存储数据量大<br/>　　队列部署结构：多台 HTTPSQS 应用层哈希分布式模式<br/><br/>　　●金山网络游戏运营平台 KingEyes<br/>　　队列应用类型：用户操作日志记录<br/><br/>　　●金山逍遥网站内搜索<br/>　　队列应用类型：索引准实时更新。在<a href="http://www.xoyo.com" target="_blank">金山游戏官网</a>中，新闻、论坛帖子、客服公告、SNS社区等发生的增、删、改操作，文本内容实时写入HTTPSQS队列，全站搜索引擎增量索引准实时（1分钟内）更新的数据源取自HTTPSQS。<br/><br/>　　●金山逍遥网全站通用评论系统<br/>　　队列应用类型：评论发表<br/><br/>　　●金山《剑侠情缘》电视连续剧四大角色人物选秀活动（<a href="http://zt.xoyo.com/haixuan/" target="_blank">http://zt.xoyo.com/haixuan/</a>）<br/>　　队列应用类型：用户上传的照片异步裁剪、缩放处理<br/><br/>　　●新浪邮箱（<a href="http://mail.sina.com.cn" target="_blank">http://mail.sina.com.cn</a>）<br/>　　队列应用类型：用户登陆日志记录<br/><br/><hr/><br/>　　<strong>3、HTTPSQS 编译安装：</strong><br/><br/>............<br/><br/>Tags - <a href="http://zyan.cc/tags/httpsqs/" rel="tag">httpsqs</a> , <a href="http://zyan.cc/tags/http/" rel="tag">http</a> , <a href="http://zyan.cc/tags/queue/" rel="tag">queue</a> , <a href="http://zyan.cc/tags/queues/" rel="tag">queues</a> , <a href="http://zyan.cc/tags/sqs/" rel="tag">sqs</a> , <a href="http://zyan.cc/tags/memcacheq/" rel="tag">memcacheq</a> , <a href="http://zyan.cc/tags/memcachedb/" rel="tag">memcachedb</a> , <a href="http://zyan.cc/tags/activemq/" rel="tag">activemq</a> , <a href="http://zyan.cc/tags/starling/" rel="tag">starling</a> , <a href="http://zyan.cc/tags/amazonsqs/" rel="tag">amazonsqs</a> , <a href="http://zyan.cc/tags/tokyocabinet/" rel="tag">tokyocabinet</a> , <a href="http://zyan.cc/tags/simple/" rel="tag">simple</a> , <a href="http://zyan.cc/tags/service/" rel="tag">service</a> , <a href="http://zyan.cc/tags/%25E9%2598%259F%25E5%2588%2597/" rel="tag">队列</a> , <a href="http://zyan.cc/tags/%25E7%25AE%2580%25E5%258D%2595%25E9%2598%259F%25E5%2588%2597/" rel="tag">简单队列</a> , <a href="http://zyan.cc/tags/%25E6%25B6%2588%25E6%2581%25AF%25E9%2598%259F%25E5%2588%2597/" rel="tag">消息队列</a>
]]>
</description>
</item><item>
<link>http://zyan.cc/httpsqs/#blogcomment4687</link>
<title><![CDATA[[评论] 基于HTTP协议的轻量级开源简单队列服务：HTTPSQS[原创]]]></title> 
<author>Deeka &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Wed, 30 Dec 2009 01:00:42 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs/#blogcomment4687</guid> 
<description>
<![CDATA[ 
	不过还不知道稳不稳定呢
]]>
</description>
</item><item>
<link>http://zyan.cc/httpsqs/#blogcomment4688</link>
<title><![CDATA[[评论] 基于HTTP协议的轻量级开源简单队列服务：HTTPSQS[原创]]]></title> 
<author>zz &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Wed, 30 Dec 2009 02:02:22 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs/#blogcomment4688</guid> 
<description>
<![CDATA[ 
	支持顶来了～～顶后在说
]]>
</description>
</item><item>
<link>http://zyan.cc/httpsqs/#blogcomment4690</link>
<title><![CDATA[[评论] 基于HTTP协议的轻量级开源简单队列服务：HTTPSQS[原创]]]></title> 
<author>showsky &lt;cnjxxf@gmail.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Wed, 30 Dec 2009 03:38:19 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs/#blogcomment4690</guid> 
<description>
<![CDATA[ 
	来了就要顶，多写精品，感谢一下！
]]>
</description>
</item><item>
<link>http://zyan.cc/httpsqs/#blogcomment4691</link>
<title><![CDATA[[评论] 基于HTTP协议的轻量级开源简单队列服务：HTTPSQS[原创]]]></title> 
<author>qwert &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Wed, 30 Dec 2009 04:37:26 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs/#blogcomment4691</guid> 
<description>
<![CDATA[ 
	PHP的httpsqs类写的有点糟糕……
]]>
</description>
</item><item>
<link>http://zyan.cc/httpsqs/#blogcomment4692</link>
<title><![CDATA[[评论] 基于HTTP协议的轻量级开源简单队列服务：HTTPSQS[原创]]]></title> 
<author>niniwzw &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Wed, 30 Dec 2009 05:09:47 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs/#blogcomment4692</guid> 
<description>
<![CDATA[ 
	大侠又出新产品了。
]]>
</description>
</item><item>
<link>http://zyan.cc/httpsqs/#blogcomment4693</link>
<title><![CDATA[[评论] 基于HTTP协议的轻量级开源简单队列服务：HTTPSQS[原创]]]></title> 
<author>niniwzw &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Wed, 30 Dec 2009 05:26:18 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs/#blogcomment4693</guid> 
<description>
<![CDATA[ 
	char *queue_name = (char *)malloc(300); <br/>为什么这个地方要用动态内存分配，直接栈内存我觉得就可以了。
]]>
</description>
</item><item>
<link>http://zyan.cc/httpsqs/#blogcomment4694</link>
<title><![CDATA[[评论] 基于HTTP协议的轻量级开源简单队列服务：HTTPSQS[原创]]]></title> 
<author>niniwzw &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Wed, 30 Dec 2009 05:36:30 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs/#blogcomment4694</guid> 
<description>
<![CDATA[ 
	很喜欢你的博客，有空能不能讲讲 C10K 问题 和 libevent 库。
]]>
</description>
</item><item>
<link>http://zyan.cc/httpsqs/#blogcomment4695</link>
<title><![CDATA[[评论] 基于HTTP协议的轻量级开源简单队列服务：HTTPSQS[原创]]]></title> 
<author>niniwzw &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Wed, 30 Dec 2009 05:51:40 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs/#blogcomment4695</guid> 
<description>
<![CDATA[ 
	一个建议是 不要频繁使用 动态内存分配很小的 内存快，容易产生碎片。<br/>如果是 name 这样的小字符串，我感觉用栈内存更加的好。<br/>不知道我说的对不对。
]]>
</description>
</item><item>
<link>http://zyan.cc/httpsqs/#blogcomment4699</link>
<title><![CDATA[[评论] 基于HTTP协议的轻量级开源简单队列服务：HTTPSQS[原创]]]></title> 
<author>imsorry &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Wed, 30 Dec 2009 06:26:28 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs/#blogcomment4699</guid> 
<description>
<![CDATA[ 
	tokyotyrant好像用lua扩展也能实现Queue。如何评价二者的区别？<br/>另外队列中，每条记录大小是否有限制？
]]>
</description>
</item><item>
<link>http://zyan.cc/httpsqs/#blogcomment4700</link>
<title><![CDATA[[评论] 基于HTTP协议的轻量级开源简单队列服务：HTTPSQS[原创]]]></title> 
<author>太阳里的雪 &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Wed, 30 Dec 2009 06:27:06 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs/#blogcomment4700</guid> 
<description>
<![CDATA[ 
	怎么不搞个支持restful协议了~~
]]>
</description>
</item><item>
<link>http://zyan.cc/httpsqs/#blogcomment4701</link>
<title><![CDATA[[评论] 基于HTTP协议的轻量级开源简单队列服务：HTTPSQS[原创]]]></title> 
<author>怪物宝 &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Wed, 30 Dec 2009 07:17:47 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs/#blogcomment4701</guid> 
<description>
<![CDATA[ 
	大侠，这东西对服务器有什么要求吗？对Nginx支持怎样？
]]>
</description>
</item><item>
<link>http://zyan.cc/httpsqs/#blogcomment4703</link>
<title><![CDATA[[评论] 基于HTTP协议的轻量级开源简单队列服务：HTTPSQS[原创]]]></title> 
<author>c新手 &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Wed, 30 Dec 2009 08:34:02 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs/#blogcomment4703</guid> 
<description>
<![CDATA[ 
	这是个C写的吧，我想问的是，httpsqs.c里面引用的那些文件是不是有什么官网可以统一下载的？另外有些就是放在根目录下,如time.h，我现在是在IDE环境下，会提示找不到这些文件吧，我是用netbeans6.8
]]>
</description>
</item><item>
<link>http://zyan.cc/httpsqs/#blogcomment4704</link>
<title><![CDATA[[评论] 基于HTTP协议的轻量级开源简单队列服务：HTTPSQS[原创]]]></title> 
<author>xwsoul &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Wed, 30 Dec 2009 09:19:38 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs/#blogcomment4704</guid> 
<description>
<![CDATA[ 
	第一时间抢占沙发
]]>
</description>
</item><item>
<link>http://zyan.cc/httpsqs/#blogcomment4705</link>
<title><![CDATA[[评论] 基于HTTP协议的轻量级开源简单队列服务：HTTPSQS[原创]]]></title> 
<author>xwsoul &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Wed, 30 Dec 2009 09:20:13 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs/#blogcomment4705</guid> 
<description>
<![CDATA[ 
	<br/>原来推上不是首发..
]]>
</description>
</item><item>
<link>http://zyan.cc/httpsqs/#blogcomment4706</link>
<title><![CDATA[[评论] 基于HTTP协议的轻量级开源简单队列服务：HTTPSQS[原创]]]></title> 
<author>php新手 &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Wed, 30 Dec 2009 09:42:24 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs/#blogcomment4706</guid> 
<description>
<![CDATA[ 
	这个好 主要学习了到了libevent 怎么样
]]>
</description>
</item>
</channel>
</rss>