<?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_1_3/</link>
<title><![CDATA[轻量级开源简单队列服务 HTTPSQS 1.3 版本发布]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[Cache与存储]]></category>
<pubDate>Tue, 29 Jun 2010 10:27:13 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs_1_3/</guid> 
<description>
<![CDATA[ 
	　　[文章作者：张宴 本文版本：v1.0 最后修改：2010.06.29 转载请注明原文链接：<a href="http://blog.zyan.cc/httpsqs_1_3/" target="_blank">http://blog.zyan.cc/httpsqs_1_3/</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/><hr/><br/>　　<strong>HTTPSQS 1.3 版本增加的功能：</strong><br/><br/>　　<strong>1、服务器端：</strong><br/><br/>　　● 增加了重要功能：定时将内存缓冲区内容写到磁盘的功能。<br/>　　HTTPSQS 1.2 及以前的版本，只有当内存缓冲区满的时候，才将内存中的内容写到磁盘，如果这期间服务器宕机，将导致一部分数据丢失。从 1.3 版本开始，支持了定时（默认5秒钟/次）将内存缓冲区内容同步到磁盘的功能，可以在启动 HTTPSQS 时使用“-s &lt;second&gt;”参数设置同步间隔。在 HTTPSQS 运行过程中，可以通过浏览器访问“<a href="http://host:port/?name=your_queue_name&opt=synctime&num=" target="_blank">http://host:port/?name=your_queue_name&opt=synctime&num=</a>间隔秒数”来实时修改同步间隔，无需重启。<br/><br/>　　● 增加了辅助功能：以JSON格式查看队列状态。<br/>　　原有的查询队列状态功能“<a href="http://host:port/?name=your_queue_name&opt=status" target="_blank">http://host:port/?name=your_queue_name&opt=status</a>”，适合通过浏览器访问，人工查看，不便于程序处理。新增加的功能“<a href="http://host:port/?name=your_queue_name&opt=status_json" target="_blank">http://host:port/?name=your_queue_name&opt=status_json</a>”，以JSON格式输出队列状态信息，便于客户端程序进行处理，输出的格式示例如下：<br/><div style="border-left: 0px dashed #D6C094; margin: 5px; padding: 3px; margin-bottom:0px; border: 1px dashed #00a0c6; background-color: #ffffff;">&#123;"name":"xoyo","maxqueue":1000000,"putpos":4562,"putlap":2,"getpos":900045,"getlap":1,"unread":104517&#125;</div><br/><br/>　　● 增加了以下四项启动参数：<br/><div style="border-left: 0px dashed #D6C094; margin: 5px; padding: 3px; margin-bottom:0px; border: 1px dashed #00a0c6; background-color: #ffffff;">-s &lt;second&gt; 同步内存缓冲区内容到磁盘的间隔秒数（默认值：5）<br/>-c &lt;num&gt; 内存中缓存的最大非叶子节点数（默认值：10000）<br/>-m &lt;size&gt; 数据库内存缓存大小，单位：MB（默认值：100）<br/>-i &lt;file&gt; 保存进程PID到文件中（默认值：/tmp/httpsqs.pid）</div><br/><br/>　　<strong>2、客户端：</strong><br/><br/>　　● PHP客户端Class增加了Keep-alive长连接断线自动检测、自动重连功能，PHP客服端守护进程从HTTPSQS读取数据时，不用考虑连接异常断开处理。非常适合PHP客服端作为守护进程，从队列GET读取数据，或者批量往队列中写入数据的应用。<br/><br/>　　● PHP客户端Class增加了函数$httpsqs->status_json($host, $port, $charset, $name);、$httpsqs->synctime($host, $port, $charset, $name, $num);、$httpsqs->pstatus_json($host, $port, $charset, $name);、$httpsqs->psynctime($host, $port, $charset, $name, $num);，详细使用说明请见：<a href="http://blog.zyan.cc/httpsqs/" target="_blank">http://blog.zyan.cc/httpsqs/</a><br/><br/><hr/><br/>　　<strong>HTTPSQS 1.1/1.2 版本如何升级到 HTTPSQS 1.2 版本：</strong><br/><br/>　　●服务器端版本完全兼容：编译安装 HTTPSQS 1.3，替换 HTTPSQS 1.1/1.2，然后“kill httpsqs的进程ID”，按原来的启动参数启动 HTTPSQS 即可，数据完全兼容。<br/><br/>　　●客户端版本完全兼容：HTTPSQS 1.3 版本的PHP客户端，仍可以直接操作 HTTPSQS 1.1/1.2。两个版本的PHP客户端函数使用方式、参数相同，1.3 版本的PHP客户端与 1.2 版本相比，增加了status_json()、synctime()、pstatus_json()、psynctime()四个函数。<br/><br/><hr/><br/>　　<strong>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/>　　●金山逍遥网站内搜索<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/>　　<span style="font-size: 14px;"><span style="color: #FF0000;">HTTPSQS 1.3 版本的详细使用说明，请访问：</span> <a href="http://blog.zyan.cc/httpsqs/" target="_blank">http://blog.zyan.cc/httpsqs/</a></span><br/><br/><br/>Tags - <a href="http://zyan.cc/tags/httpsqs/" rel="tag">httpsqs</a> , <a href="http://zyan.cc/tags/queue/" rel="tag">queue</a> , <a href="http://zyan.cc/tags/message/" rel="tag">message</a> , <a href="http://zyan.cc/tags/memcacheq/" rel="tag">memcacheq</a> , <a href="http://zyan.cc/tags/simplesqs/" rel="tag">simplesqs</a> , <a href="http://zyan.cc/tags/simple/" rel="tag">simple</a> , <a href="http://zyan.cc/tags/sqs/" rel="tag">sqs</a>
]]>
</description>
</item><item>
<link>http://zyan.cc/httpsqs_1_3/#blogcomment6259</link>
<title><![CDATA[[评论] 轻量级开源简单队列服务 HTTPSQS 1.3 版本发布]]></title> 
<author>Fred &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Tue, 29 Jun 2010 11:56:17 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs_1_3/#blogcomment6259</guid> 
<description>
<![CDATA[ 
	&quot;HTTPSQS 1.1/1.2 版本如何升级到 HTTPSQS 1.2 版本&quot;有误 1.1/1.2 -&gt; 1.3
]]>
</description>
</item><item>
<link>http://zyan.cc/httpsqs_1_3/#blogcomment6260</link>
<title><![CDATA[[评论] 轻量级开源简单队列服务 HTTPSQS 1.3 版本发布]]></title> 
<author>yii &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Tue, 29 Jun 2010 13:10:12 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs_1_3/#blogcomment6260</guid> 
<description>
<![CDATA[ 
	抢个沙发
]]>
</description>
</item><item>
<link>http://zyan.cc/httpsqs_1_3/#blogcomment6261</link>
<title><![CDATA[[评论] 轻量级开源简单队列服务 HTTPSQS 1.3 版本发布]]></title> 
<author>吕滔 &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Tue, 29 Jun 2010 23:45:34 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs_1_3/#blogcomment6261</guid> 
<description>
<![CDATA[ 
	大哥，你什么给我们介绍一下服务器阵列的知识呀
]]>
</description>
</item><item>
<link>http://zyan.cc/httpsqs_1_3/#blogcomment6262</link>
<title><![CDATA[[评论] 轻量级开源简单队列服务 HTTPSQS 1.3 版本发布]]></title> 
<author>shiny &lt;shiny@meettea.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Wed, 30 Jun 2010 00:20:49 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs_1_3/#blogcomment6262</guid> 
<description>
<![CDATA[ 
	感谢张宴的贡献 :)
]]>
</description>
</item><item>
<link>http://zyan.cc/httpsqs_1_3/#blogcomment6263</link>
<title><![CDATA[[评论] 轻量级开源简单队列服务 HTTPSQS 1.3 版本发布]]></title> 
<author>手机侦探 &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Wed, 30 Jun 2010 01:40:21 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs_1_3/#blogcomment6263</guid> 
<description>
<![CDATA[ 
	如果能自动触发相应的处理队列事件就好，不用另外设置定时机制处理队列内容
]]>
</description>
</item><item>
<link>http://zyan.cc/httpsqs_1_3/#blogcomment6264</link>
<title><![CDATA[[评论] 轻量级开源简单队列服务 HTTPSQS 1.3 版本发布]]></title> 
<author>ppyupp &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Wed, 30 Jun 2010 04:19:43 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs_1_3/#blogcomment6264</guid> 
<description>
<![CDATA[ 
	1.3有队列列表吗?&nbsp;&nbsp;查看已经存在的所有队列的名称...
]]>
</description>
</item><item>
<link>http://zyan.cc/httpsqs_1_3/#blogcomment6281</link>
<title><![CDATA[[评论] 轻量级开源简单队列服务 HTTPSQS 1.3 版本发布]]></title> 
<author>侬本多情 &lt;shine@bld.cc&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Sat, 03 Jul 2010 02:19:20 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs_1_3/#blogcomment6281</guid> 
<description>
<![CDATA[ 
	多线程的感觉
]]>
</description>
</item><item>
<link>http://zyan.cc/httpsqs_1_3/#blogcomment6298</link>
<title><![CDATA[[评论] 轻量级开源简单队列服务 HTTPSQS 1.3 版本发布]]></title> 
<author>rodericliu &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Tue, 06 Jul 2010 02:02:57 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs_1_3/#blogcomment6298</guid> 
<description>
<![CDATA[ 
	1.3用下来有进程会异常退出。
]]>
</description>
</item><item>
<link>http://zyan.cc/httpsqs_1_3/#blogcomment6303</link>
<title><![CDATA[[评论] 轻量级开源简单队列服务 HTTPSQS 1.3 版本发布]]></title> 
<author>托马森 &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Tue, 06 Jul 2010 13:34:50 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs_1_3/#blogcomment6303</guid> 
<description>
<![CDATA[ 
	请问httpsql支持像activeMQ那样的订阅模式，就是等所有的使用者取完消息后，再从消息队列中删除消息。
]]>
</description>
</item><item>
<link>http://zyan.cc/httpsqs_1_3/#blogcomment6325</link>
<title><![CDATA[[评论] 轻量级开源简单队列服务 HTTPSQS 1.3 版本发布]]></title> 
<author>nmppp &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Fri, 09 Jul 2010 02:06:46 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs_1_3/#blogcomment6325</guid> 
<description>
<![CDATA[ 
	请教 httpsqs如何实现一主一备？
]]>
</description>
</item><item>
<link>http://zyan.cc/httpsqs_1_3/#blogcomment6336</link>
<title><![CDATA[[评论] 轻量级开源简单队列服务 HTTPSQS 1.3 版本发布]]></title> 
<author>aaaaa &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Sun, 11 Jul 2010 20:44:28 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs_1_3/#blogcomment6336</guid> 
<description>
<![CDATA[ 
	哥哥！！<br/>&nbsp;&nbsp; 你给说下现在的APMServ 5.2.6 为什么总是出现<br/>1、Apache启动失败，请检查相关配置。√MySQL5.1已启动。<br/>这个问题<br/> 我在网上搜索了N个解决方法但是全部失败..<br/>&nbsp;&nbsp;&nbsp;&nbsp;你给解决下么<br/> 494196229我的QQ有空给我解释下 <br/>谢谢了
]]>
</description>
</item><item>
<link>http://zyan.cc/httpsqs_1_3/#blogcomment6338</link>
<title><![CDATA[[评论] 轻量级开源简单队列服务 HTTPSQS 1.3 版本发布]]></title> 
<author>超级无敌源码狂 &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Mon, 12 Jul 2010 02:32:06 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs_1_3/#blogcomment6338</guid> 
<description>
<![CDATA[ 
	这个最大只支持10亿的数据，不够用啊。。
]]>
</description>
</item><item>
<link>http://zyan.cc/httpsqs_1_3/#blogcomment6360</link>
<title><![CDATA[[评论] 轻量级开源简单队列服务 HTTPSQS 1.3 版本发布]]></title> 
<author>Snow_Young &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 15 Jul 2010 15:25:16 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs_1_3/#blogcomment6360</guid> 
<description>
<![CDATA[ 
	看來Java客戶端也要更新了，呵呵，順便加入傳輸對象的功能吧
]]>
</description>
</item><item>
<link>http://zyan.cc/httpsqs_1_3/#blogcomment6548</link>
<title><![CDATA[[评论] 轻量级开源简单队列服务 HTTPSQS 1.3 版本发布]]></title> 
<author>bus387 &lt;bm888888@gmail.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Wed, 04 Aug 2010 08:34:53 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs_1_3/#blogcomment6548</guid> 
<description>
<![CDATA[ 
	张宴作者你好，我在生产上跑了2个星期后出现了crash.错误如下，请帮忙看看是什么原因。<br/><br/>[root@localhost log]# httpsqs -h<br/>--------------------------------------------------------------------------------------------------<br/>HTTP Simple Queue Service - httpsqs v1.3.1 (July 12, 2010)<br/><br/>/var/log/messages显示<br/><br/>Aug&nbsp;&nbsp;4 14:30:10 localhost kernel: httpsqs[3655]: segfault at ffffffffffffffd8 rip 00002b1dfb4c6270 rsp 00007fff8eed3888 error 4<br/><br/>进程意外终止了
]]>
</description>
</item><item>
<link>http://zyan.cc/httpsqs_1_3/#blogcomment6600</link>
<title><![CDATA[[评论] 轻量级开源简单队列服务 HTTPSQS 1.3 版本发布]]></title> 
<author>bus387 &lt;bm888888@gmail.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Tue, 10 Aug 2010 06:02:23 +0000</pubDate> 
<guid>http://zyan.cc/httpsqs_1_3/#blogcomment6600</guid> 
<description>
<![CDATA[ 
	张宴，你好，今天发现另外一个bug,反馈一下。[root@localhost log]# httpsqs -h--------------------------------------------------------------------------------------------------HTTP Simple Queue Service - httpsqs v1.3.1 (July 12, 2010)put了70条记录，全部都显示成功。返回HTTPSQS_PUT_OK但是队列取不到数据。unread＝0HTTP Simple Queue Service v1.3.1------------------------------Queue Name: imageMaximum number of queues: 1000000Put position of queue (1st lap): 140Get position of queue (1st lap): 140Number of unread queue: 0这个问题非常奇怪，百思不得其解。
]]>
</description>
</item>
</channel>
</rss>