轻量级开源简单队列服务 HTTPSQS 1.6 版本发布

标签: Cache与存储 | 发表时间:2011-04-21 18:12 | 作者:张宴 <[email protected]> adow
出处:http://blog.s135.com/index.php
  [文章作者:张宴 本文版本:v1.0 最后修改:2011.04.21 转载请注明原文链接:http://blog.s135.com/httpsqs_1_6/]

  HTTPSQS(HTTP Simple Queue Service)是一款基于 HTTP GET/POST 协议的轻量级开源简单消息队列服务,使用 Tokyo Cabinet 的 B+Tree Key/Value 数据库来做数据的持久化存储。

  项目网址http://code.google.com/p/httpsqs/
  使用文档http://blog.s135.com/httpsqs/
  使用环境:Linux(同时支持32位、64位操作系统,推荐使用64位操作系统)
  软件作者:张宴

  队列(Queue)又称先进先出表(First In First Out),即先进入队列的元素,先从队列中取出。加入元素的一头叫“队头”,取出元素的一头叫“队尾”。利用消息队列可以很好地异步处理数据传送和存储,当你频繁地向数据库中插入数据、频繁地向搜索引擎提交数据,就可采取消息队列来异步插入。另外,还可以将较慢的处理逻辑、有并发数量限制的处理逻辑,通过消息队列放在后台处理,例如FLV视频转换、发送手机短信、发送电子邮件等。

  HTTPSQS 具有以下特征:

  ● 非常简单,基于 HTTP GET/POST 协议。PHP、Java、Perl、Shell、Python、Ruby等支持HTTP协议的编程语言均可调用。
  ● 非常快速,入队列、出队列速度超过10000次/秒。
  ● 高并发,支持上万的并发连接,C10K不成问题。
  ● 支持多队列。
  ● 单个队列支持的最大队列数量高达10亿条。
  ● 低内存消耗,海量数据存储,存储几十GB的数据只需不到100MB的物理内存缓冲区。
  ● 可以在不停止服务的情况下便捷地修改单个队列的最大队列数量。
  ● 可以实时查看队列状态(入队列位置、出队列位置、未读队列数量、最大队列数量)。
  ● 可以查看指定队列ID(队列点)的内容,包括未出、已出的队列内容。
  ● 查看队列内容时,支持多字符集编码。
  ● 源代码不超过800行,适合二次开发。



  HTTPSQS 1.6 版本更新内容:

  一、服务器端:

  1、修正了定时将内存缓冲区内容同步到磁盘,有时候出现段错误,导致进程崩溃的BUG。感谢以下网友的反馈:

  点击在新窗口中浏览此图片

  点击在新窗口中浏览此图片

  点击在新窗口中浏览此图片



  2、修正了判断队列已满,遗漏的一种情况。感谢以下网友的反馈:

  点击在新窗口中浏览此图片

  点击在新窗口中浏览此图片



  3、改为父子进程模式,生产环境稳定性更高。

  4、改进了 ps 命令查看 httpsqs 的用户体验:

  点击在新窗口中浏览此图片



  5、增加了密码校验功能(通过以下启动参数设置密码,通过URL参数“/?auth=密码”访问):

  点击在新窗口中浏览此图片



  6、改为静态编译,编译完成后的 HTTPSQS 二进制文件,运行不再依赖 Libevent、Tokyocabinet 动态链接库。



  7、HTTPSQS 旧版本如何升级到 HTTPSQS 1.6 版本:

  HTTPSQS 1.6 版本完全兼容以前版本:编译安装 HTTPSQS 1.6,替换旧的 HTTPSQS,然后“kill httpsqs的进程ID”,按原来的启动参数启动 HTTPSQS 即可,数据完全兼容。



  二、客户端:

  1、客户端代码不再集成在 HTTPSQS 源码包中,可通过链接自行查看。



  HTTPSQS 1.6 版本的详细使用说明,请访问: http://blog.s135.com/httpsqs/


Tags - , , , , , , , , , , , , , , ,

相关 [轻量级 开源 队列] 推荐:

轻量级开源简单队列服务 HTTPSQS 1.6 版本发布

- adow - 张宴的博客
  [文章作者:张宴 本文版本:v1.0 最后修改:2011.04.21 转载请注明原文链接:http://blog.s135.com/httpsqs_1_6/].   HTTPSQS(HTTP Simple Queue Service)是一款基于 HTTP GET/POST 协议的轻量级开源简单消息队列服务,使用 Tokyo Cabinet 的 B+Tree Key/Value 数据库来做数据的持久化存储.

jcseg-1.9.2 发布 - Java开源轻量级中文分词器+里程碑版本

- - 开源中国社区最新新闻
jcseg是使用java开发的一款轻量级的开源中文分词器, 并且提供了最新版本的lucene和solr分词接口.. jcseg-1.9.2更新内容:. 配置文件中词库多目录加载, 多个目录使用';'隔开..     例如:在jcseg.properties中设置lexicon.path=/java/jcseg/lex1;/java/jcseg/lex2.

轻量级Kubernetes k3s初探

- - InfoQ推荐
1 k3s简介–5 less than K8s. k3s [1] 是rancher®开源的一个Kubernetes发行版,从名字上就可以看出k3s相对k8s做了很多裁剪和优化,二进制程序不足50MB,占用资源更少,只需要512MB内存即可运行. 而之所以称为k3s是因为相对k8s裁剪了如下5个部分:.

用 toto 快速建轻量级博客

- zhai - 博客园-首页原创精华区
对于程序员或创业团队来说,还是有必要拥有一个属于自己的博客. Wordpress 曾经让个人或企业搭建博客变得非常容易. 但是我们觉得 Wordpress 还是有些重量级,所以选择了一个非常轻便的工具 toto,一段只有200多行代码的Ruby应用程序. toto之所以简单,是因为它利用一些很好的工具和服务.

CintaNotes:轻量级笔记软件

- - 软件志
一、CintaNotes简介: 这是一款非常轻巧实用的笔记软件,体积仅1MB,可以很方便用快捷键从任意程序收集文本,或手工添加内容;收集的内容会保留来源url. 所有文本线性排列,并可添加标签(tag);搜索框中键入内容即可实时显示命中结果,非常方便——重要的是它支持UniCode,因此不存在中文搜索问题.

优秀的轻量级Web服务器

- - Solidot
Alison Neville 写道 "Web服务器是一种使用超文本传输协议(HTTP)响应客户端请求提供网页的计算机软件,以HTML文件、图像、样式表和脚本的形式构成网页内容. Apache是​​最流行的Web服务器软件,提供了最新的协议实现,优秀的特性集,具有高可配置和可扩展性. Apache被一半以上的活跃网站所使用.

轻量级jQuery网格插件——ParamQuery

- - InfoQ cn
ParamQuery是一种轻量级的jQuery网格插件,基于用于用户界面控制、具有一致API的优秀设计模式 jQueryUI Widget factory创建,能够在网页上展示各种类似于Excel和Google Spreadsheet效果的网格. 使用 ParamQuery,开发者可以轻松地实现以下特性:.

gollum:轻量级的wiki系统

- - 刘思喆@贝吉塔行星
gollum的readme上有句最简单的描述很直白:A git-based Wiki. 个人认为github,jekyll, gollum可以并称为码农的三大神器,github用来敲代码,jekyll用来写技术博客,gollum用来搭建自己的知识管理wiki系统. 很巧合的是部门用gollum也有两年时间了,不过以前都是直接用,没有仔细看过手册,趁十一期间有时间简单搭了一套玩玩.

Webluker:为中小网站提供轻量级CDN 加速服务

- 午夜瞎想 - 36氪
对于任何网站来说,访问速度都是一个非常重要的参数. 如果你的网站加载了很久还是没有打开,那么一部分“不耐心”的用户就可能会离去了. 除了通过提升服务器性能之外,使用CDN 其实是一个提升网站访问速度的便捷方式. 不过对于中小网站来说,类似ChinaCache 的大型CDN 使用起来门槛非常的高,有没有一个轻量级容易使用的CDN 服务呢.

图桌:轻量级在线标记工具(更新)

- Lozen - 36氪
从Windows切换到Mac平台已经有几个月了. 我承认,Mac很好,简洁、漂亮. 但我对Windows的亲戚感还没有消失,因为有些东西挥之不去,藕断丝连,比如银行插件,比如搜狗拼音输入法,比如截图标记工具FastStone Capture. 还好,支付宝早就支持Safari了,搜狗拼音输入法也推出了Mac版,现在我又找到了一个网页版截图工具:图桌.