首页 理论教育使用HTTPS的HTTPSQS测试结果

使用HTTPS的HTTPSQS测试结果

【摘要】:测试HTTPSQS只需要使用浏览器即可,如果使用虚拟机,首先需要确保本地机器能够连接到虚拟机上。HTTPSQS是基于异步事件的,所有数据的入队都是单一同向的,并且数据入队后均需要排序。HTTPSQS能够接受GET或者POST提交方式。HTTPSQS支持出队时对数据进行序列化,默认情况下为TXT文本。如果出队成功,则返回json序列化数据或文本数据,否则将会返回HTTPSQS_GET_END异常信息,表示数据不存在。

为了方便讲解,帮助读者加深对HTTPSQS的直观认识,下面将对前面安装完成的HTTPSQS进行简单的测试。测试HTTPSQS只需要使用浏览器即可,如果使用虚拟机,首先需要确保本地机器能够连接到虚拟机上。消息队列主要分为两大步骤,即入队及出队,下面分别介绍。

1.入队(put)

入队是消息列队中最基本的操作。HTTPSQS只支持使用HTTP进行数据提交,所以开发人员只需要使用浏览器就可以向HTTPSQS提交数据。HTTPSQS是基于异步事件的,所有数据的入队都是单一同向的,并且数据入队后均需要排序。入队网址格式如下。

http://host:1218/?name=队列名&opt=put&data=数据&auth=加密口令

队列名是一个数据集的名称,通常情况下可以使用一个数据表名称或者日期时间等;opt是操作的标识;data表示入队的数据,一次只能入队一条数据,数据入队后系统会自动分配pos值(相当于自动增加的id);auth表示当前队列的加密口令。

HTTPSQS能够接受GET或者POST提交方式。需要注意的是,data参数如果为中文,需要进行URL转码。加密口令不是必需的,如果HTTPSQS服务器处于内网,建议放弃队列加密,这样将获得更好的运行效率。下面将通过示例演示入队的实际操作,如以下代码所示。

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

如果入队成功,浏览器将返回HTTPSQS_PUT_OK。同时使用Firefox Firebug插件查看head头信息,可以查看到HTTPSQS返回的pos值,该值即为当前数据存放在队列中的具体位置。读者可以改变data参数数据,并多次刷新,观察返回的pos值,如图8-5所示。

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

图8-5 HTTPSQS入队返回信息

‰ 提示:入队时HTTPSQS返回值共有3种状态:HTTPSQS_PUT_OK表示入队成功;HTTPSQS_PUT_ERROR表示入队失败,需要检查提交的格式是否正确;HTTPSQS_PUT_ERROR表示队列已满,单个队列的默认值为100万条,理论值最大可存放10亿条,更改入队参数num可以改变队列数据条数。(www.chuimin.cn)

2.出队(get)

可以使用HTTP进行入队,当然也可以使用HTTP获取队列数据(出队)。HTTPSQS支持出队时对数据进行序列化,默认情况下为TXT文本。出队的URL格式如下所示。

http://host:1218/?charset=utf-8&name=队列名称&opt=get&auth=队列口令

入队和出队是成正比的,也就是说先入队的数据就会先出队。出队时opt参数值共有两个:get表示返回txt类型数据;status_json表示使用json序列化数据。如以下代码所示。

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

如果出队成功,则返回json序列化数据或文本数据,否则将会返回HTTPSQS_GET_END异常信息,表示数据不存在。同时使用Firefox Firebug插件查看head头信息,可以查看到当前数据的pos值,该值总是由小到大进行变化的。如图8-6所示。

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

图8-6 HTTPSQS出队返回信息

数据出队是排序进行的,一旦出队,数据即会从HTTPSQS数据库中删除。如果不需删除数据,而只是想查看数据,可以指定pos值查阅对应的数据,如以下代码所示。

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