文档章节

Linux -- 消息队列 httpsqs 安装

bengozhong
 bengozhong
发布于 2015/08/13 18:00
字数 1099
阅读 65
收藏 5
安装 libevent
[root @localhost httpsqs]# wget http://httpsqs.googlecode.com/files/libevent-2.0.12-stable.tar.gz
[root @localhost httpsqs]# tar -zxf libevent-2.0.12-stable.tar.gz
[root @localhost httpsqs]# cd libevent-2.0.12-stable
[root @localhost libevent-2.0.12-stable]# ./configure --prefix=/usr/local/libevent-2.0.12-stable/
[root @localhost libevent-2.0.12-stable]# make
[root@localhost libevent-2.0.12-stable]# make install
[root@localhost libevent-2.0.12-stable]# cd ..

安装 tokyocabinet
[root@localhost httpsqs]# wget http://httpsqs.googlecode.com/files/tokyocabinet-1.4.47.tar.gz
[root@localhost httpsqs]# tar -zxf tokyocabinet-1.4.47.tar.gz 
[root@localhost httpsqs]# cd tokyocabinet-1.4.47
#注:在32位Linux操作系统上编译Tokyo cabinet,请使用./configure --enable-off64代替./configure,可以使数据库文件突破2GB的限制。
#./configure --enable-off64 --prefix=/usr/local/tokyocabinet-1.4.47/
[root@localhost tokyocabinet-1.4.47]# ./configure --prefix=/usr/local/tokyocabinet-1.4.47/
[root@localhost tokyocabinet-1.4.47]# make
[root@localhost tokyocabinet-1.4.47]# make install
[root@localhost libevent-2.0.12-stable]# cd ..

安装 httpsqs
[root@localhost httpsqs]# wget http://httpsqs.googlecode.com/files/httpsqs-1.7.tar.gz
[root@localhost httpsqs]# tar -zxf httpsqs-1.7.tar.gz 
[root@localhost httpsqs]# cd httpsqs-1.7
[root@localhost httpsqs-1.7]# make
[root@localhost httpsqs-1.7]# make install

[root@localhost httpsqs-1.7]# httpsqs -h
--------------------------------------------------------------------------------------------------
HTTP Simple Queue Service - httpsqs v1.7 (April 14, 2011)

-l  监听的IP地址,默认值为 0.0.0.0 
-p    监听的TCP端口(默认值:1218)
-x   数据库目录,目录不存在会自动创建(例如:/opt/httpsqs/data)
-t  HTTP请求的超时时间(默认值:3)
-s  同步内存缓冲区内容到磁盘的间隔秒数(默认值:5)
-c    内存中缓存的最大非叶子节点数(默认值:1024)
-m   数据库内存缓存大小,单位:MB(默认值:100)
-i   保存进程PID到文件中(默认值:/tmp/httpsqs.pid)
-a    访问HTTPSQS的验证密码(例如:mypass123)
-d       以守护进程运行
-h       显示这个帮助

使用 killall httpsqs 批量杀掉 httpsqs 进程.关闭 httpsqs.
不要使用 pkill -9 httpsqs 或 kill -9 PID of httpsqs.否则,内存中尚未保存到磁盘的数据将会丢失

更多介绍查看: http://code.google.com/p/httpsqs

--------------------------------------------------------------------------------------------------

启动:
[root@localhost httpsqs-1.7]# ulimit -SHn 65535
[root@localhost httpsqs-1.7]# httpsqs -d -p 1218 -x /usr/local/httpsqs/

[root@localhost httpsqs-1.7]# netstat -atln | grep 1218
tcp     0    0 0.0.0.0:1218         0.0.0.0:*          LISTEN 

测试:

入队测试
-----------------------------
在浏览器中访问:
http://yourid:1218/?name=sunyu&opt=put&data=testcontent&auth=mypass123

如果入队列成功,返回:
HTTPSQS_PUT_OK

如果入队列失败,返回:
HTTPSQS_PUT_ERROR

如果队列已满,返回:
HTTPSQS_PUT_END

从HTTPSQS 1.2版本开始,在返回给客户端的HTTP Header头中增加了一行“Pos: xxx”,输出当前队列的读取位置点.
可在 firebug 或 chorm 返回的 response 中查看到:
Cache-Control:no-cache
Connection:keep-alive
Content-Length:14
Content-Type:text/plain
Date:Sat, 14 Dec 2013 14:00:27 GMT
Pos:5

出队测试
-----------------------------
上面的实例是往队列中 put 值.就是把消息传入队列.
下面是出队的测试:
http://yourid:1218/?name=sunyu&opt=get&auth=mypass123
返回的结果就是之前 put 进去的.

队列状态
-----------------------------
http://yourid:1218/?name=sunyu&opt=status&auth=mypass123

HTTP Simple Queue Service v1.7
------------------------------
Queue Name: sunyu
Maximum number of queues: 1000000
Put position of queue (1st lap): 1
Get position of queue (1st lap): 1
Number of unread queue: 0

以 json 格式查看状态:
http://yourid:1218/?name=sunyu&opt=status_json&auth=mypass123

查看指定队列位置点的内容
-----------------------------
http://yourid:1218/?charset=utf-8&sunyu&opt=view&pos=1&auth=mypass123

pos >=1 并且 <= 1000000000

返回指定队列位置点的内容。

重置指定队列
-----------------------------
http://yourid:1218/?name=sunyu&opt=reset&auth=mypass123

如果重置成功,返回:

HTTPSQS_RESET_OK

如果重置失败,返回:

HTTPSQS_RESET_ERROR

更改指定队列的最大队列数量
-----------------------------
默认的最大队列长度(100万条):1000000

http://yourid:1218/?name=sunyu&opt=maxqueue&num=1000000000&auth=mypass123"

num >=10 并且 <= 1000000000

如果更改最大队列数量成功,则返回:
HTTPSQS_MAXQUEUE_OK

更改的最大队列数量必须大于当前的“队列写入点”。另外,当“队列写入点”小于“队列读取点”时(即PUT位于圆环的第二圈,而GET位于圆环的第一圈时),本操作将被取消,然后返回给客户端以下信息:
HTTPSQS_MAXQUEUE_CANCEL

不停止服务的情况下,修改定时刷新内存缓冲区内容到磁盘的间隔时间
-----------------------------
从HTTPSQS 1.3版本开始支持此功能。

默认间隔时间:5秒 或 httpsqs -s 参数设置的值。

http://yourid:1218/?name=sunyu&opt=synctime&num=10&auth=mypass123"

num >=1 and <= 1000000000

如果修改间隔时间成功,则返回:
HTTPSQS_SYNCTIME_OK

如果 num 不在 1 ~ 1000000000 之间,本操作将被取消,然后返回给客户端以下信息:
HTTPSQS_SYNCTIME_CANCEL

密码校验失败
-----------------------------
从HTTPSQS 1.5版本开始支持此功能。

如果密码校验失败(/?auth=xxx),将返回以下信息:
HTTPSQS_AUTH_FAILED

全局错误
-----------------------------
如果发生全局错误(即指令、参数错误等),将返回以下信息:
HTTPSQS_ERROR

© 著作权归作者所有

共有 人打赏支持
bengozhong
粉丝 17
博文 470
码字总数 483537
作品 0
深圳
程序员
私信 提问
PHP消息队列httpsqs安装与使用

项目网址:http://code.google.com/p/httpsqs/ 使用文档:http://blog.s135.com/httpsqs/ 说明:由于需要安装的东西有些多,原文可能写的有些简略,所以适当补充了 1.安装libevent-2.0.12-s...

bengozhong
2015/08/14
0
0
开源简单队列服务 HTTPSQS 1.3 发布

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

鉴客
2010/07/06
2.2K
1
HTTPSQS(HTTP Simple Queue Service)消息队列

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

bengozhong
2016/05/13
32
0
消息队列用什么出队,语言是php,系统是linux?

消息队列用什么出队,语言是php,系统是linux,使用的httpsqs,不想用php在后端处理

鸡爷
2012/10/28
893
3
HTTPSQS:基于HTTP协议的轻量级开源简单队列服务(安装php客户端)

HTTPSQS 客户端 PHP 客户端 使用 httpsqs的方式: A、PHP 客户端扩展(第三方提供,详情请访问:http://code.google.com/p/php-httpsqs-client/) 一 、 安装说明 cd /usr/local mkdir phph...

bengozhong
2016/05/13
37
1

没有更多内容

加载失败,请刷新页面

加载更多

智能合约漏洞 -- 默认可见性修饰符

Solidity函数有visibility指定符,标明函数如何被允许访问。Visibility决定一个函数是否能被用户,被其他派生合约,从外部调用,仅从内部调用等等。有4个visibility指定符.函数默认的visibil...

怎当她临去时秋波那一转
46分钟前
1
0
Guava学习之Splitter 管道符分割

String str = "11|"; //方式一 分割 List<String> strs = Splitter.on("|").splitToList(str); //方式二分割 String[] strs2 = str.split("\\|"); ......

qimh
今天
5
0
flutter 保存视频 立即刷新

保存目录问题 String savePath= path.join(await _findLocalPath(),"DCIM","Camera"); 我的是小米8 这里面没有用到通知功能,也能够直接显示出来。 参考文章:https://blog.csdn.net/cod......

大灰狼wow
今天
2
0
MongoDB

关于MongoDb 1、MongoDB是一个开源的、基于分布式的、面向文档存储的非关系型数据库。 2、是非关系型数据库当中功能最丰富、最像关系数据库的。 3、由C++编写, MongoDB可以运行在Windows、u...

谢思华
今天
7
0
Node.js 进程平滑离场剖析

本文由云+社区发表 作者:草小灰 使用 Node.js 搭建 HTTP Server 已是司空见惯的事。在生产环境中,Node 进程平滑重启直接关系到服务的可靠性,它的重要性不容我们忽视。既然是平滑重启,就涉...

腾讯云加社区
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部