消息持久化服务器,配置持久化消息队列memcacheQ

MemcacheQ 是基于 MemcacheDB 的消息队列服务器。

本文为您介绍持久化消息队列服务器memcacheQ的安装配置。

一.memcacheq介绍

特性:

1.简单易用

2.处理速度快

3.多条队列

4.并发性能好

5.与memcache的协议兼容

6.在zend framework中使用方便

memcacheq依赖于Berkeley DB和libevent。Berkeley DB用于持久化存储队列的数据,避免在memcacheq崩溃或这服务器当掉时候,不至于数据丢失。

二.安装Berkeley DB

复制代码 代码如下:

download url: http://www.oracle.com/technetwork/database/berkeleydb/downloads/index.html

# tar zxvf db-5.2.28.tar.gz -C ../software/

# cd ../software/db-5.2.28/

# cd build_unix/

# ../dist/configure --prefix=/usr/local/db-5.2.28

# make

# make install

三.安装libevent

复制代码 代码如下:

# wget http://monkey.org/~provos/libevent-2.0.12-stable.tar.gz

# tar zxvf libevent-2.0.12-stable.tar.gz -C ../software/

# cd ../software/libevent-2.0.12-stable/

# ./configure --prefix=/usr/local/libevent-2.0.12

# make

# make install

四.安装memcacheq

复制代码 代码如下:

# wget http://memcacheq.googlecode.com/files/memcacheq-0.2.0.tar.gz

# tar zxvf memcacheq-0.2.0.tar.gz -C ../software/

# cd ../software/memcacheq-0.2.0/

# ./configure --prefix=/usr/local/memcacheq-0.2.0 --with-libevent=/usr/local/libevent-2.0.12 --with-bdb=/usr/local/db-5.2.28 --enable-threads

# make

# make install

五.启动memcacheq

复制代码 代码如下:

# chown nobody:root /memdata

# ./memcacheq -d -r -u nobody -vv -t 4 -m 64 -H /memdata -N -R > /var/log/memq.log 2>&1

-p TCP监听端口(default: 22201)

-U UDP监听端口(default: 0, off)

-s unix socket路径(不支持网络)

-a unix socket访问掩码(default 0700)

-l 监听网卡

-d 守护进程

-r 最大化核心文件限制

-u 以用户身份运行(only when run as root)

-c 最大并发连接数(default is 1024)

-v 详细输出 (print errors/warnings while in event loop)

-vv 更详细的输出 (also print client commands/reponses)

-i 打印许可证信息

-P PID文件

-t 线程数(default 4)

--------------------BerkeleyDB Options-------------------------------

-m BerkeleyDB内存缓存大小, default is 64MB

-A 底层页面大小, default is 4096, (512B ~ 64KB, power-of-two)

-H

-L 日志缓冲区大小, default is 32KB

-C 多少秒checkpoint一次, 0 for disable, default is 5 minutes

-T 多少秒memp_trickle一次, 0 for disable, default is 30 seconds

-S 多少秒queue stats dump一次, 0 for disable, default is 30 seconds

-e 达到缓存百分之多少需要刷新, default is 60%

-E 一个单一的DB文件有多少页, default is 16*1024, 0 for disable

-B 指定消息体的长度,单位字节, default is 1024

-D 多少毫秒做一次死锁检测(deadlock detecting), 0 for disable, default is 100ms

-N 开启DB_TXN_NOSYNC获得巨大的性能改善, default is off

-R 自动删除不再需要的日志文件, default is off

六.常见错误:

复制代码 代码如下:

./memcacheq: error while loading shared libraries: libdb-5.2.so: cannot open shared object file: No such file or directory

./memcacheq: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory

解决办法:

复制代码 代码如下:

# cd /etc/ld.so.conf.d/

# vim berkeley-db.conf

/usr/local/db-5.2.28/lib

# vim libevent.conf

/usr/local/libevent-2.0.12/lib

# ldconfig

七.测试

复制代码 代码如下:

set 0

STORED

get

VALUE

END

# telnet 127.0.0.1 22201

Trying 127.0.0.1...

Connected to 127.0.0.1.

Escape character is '^]'.

set queue1 0 0 2

xu

STORED

set queue1 0 0 4

hong

STORED

set queue1 0 0 2

hu

STORED

stats queue

STAT queue1 3/0 //队列queue1中共有3条消息已取出0条

END

get queue1

VALUE queue1 0 2

xu

END

stats queue

STAT queue1 3/1 //队列queue1中共有3条消息已取出1条

END

delete queue1 //删除队列queue1

DELETED

stats queue

END

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值