位置: 编程技术 - 正文
推荐整理分享分布式队列服务MemcacheQ在Linux系统下的编译安装(分布式队列秒杀活动),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:分布式事务消息队列解决方案,分布式服务编排,分布式队列服务的特点,分布式事务消息队列解决方案,分布式事务消息队列解决方案,分布式队列服务的特点,分布式队列如何实现,分布式队列如何实现,内容如对您有帮助,希望把文章链接给更多的朋友!
MemcacheQ作为简单的分布式队列服务,因为对MemcacheQ不了解,不少人在MemcacheQ的安装上遇到了不少麻烦,小编就为大家详细介绍下MemcacheQ在Linux系统下的编译安装,以便大家有更详细的了解。
队列(Queue)是一种常用的数据结构。在队列这种数据结构中,最先插入的元素将会最先被取出;反之最后插入的元素将会最后被取出,因此队列又称为“先进先出”(FIFO:First In First Out)的线性表。
加入元素的一端叫“队尾”,取出元素的一端叫“队头”。利用消息队列可以很好地异步处理数据的传送和存储,当遇到频繁且密集地向后端数据库中插入数据时,就可采用消息队列来异步处理这些数据写入。
MemcacheQ是一款基于Memcache协议的开源消息队列服务软件,由于其遵循了Memcache协议,因此开发成本很低,不需要学习额外的知识便可轻松掌握。
在最近的一个项目中也应用了MemcacheQ,下面我将分享一下MemcacheQ在Linux中的编译和安装过程。
首先,MemcacheQ依赖于BerkeleyDB和Libevent,如果服务器中曾经安装过Memcached,那么Libevent应该已经存在了,否则就需要先下载安装Libevent。
下载链接如下:
Libevent: Berkeley DB: MemcacheQ: 安装Libevent
tar zvxf libevent-2.0.-stable.tar.gz
cd libevent-2.0.-stable
。/configure --prefix=/usr/local/libevent
make && make install
echo “/usr/local/libevent/lib” 》》 /etc/ld.so.conf
ldconfig
安装BerkeleyDB
BerkeleyDB简介:BerkeleyDB是一个开源的文件数据库,介于关系数据库与内存数据库之间,使用方式与内存数据库类似,它提供的是一系列直接访问数据库的函数,而不是像关系数据库那样需要网络通讯、SQL解析等步骤。
MemcacheQ依赖BerkleyDB用于队列数据的持久化存储,以免在MemcacheQ意外崩溃或中断时,队列数据不会丢失。
tar zxvf db-6.0..tar.gz
cd db-6.0./build_unix
。。/dist/configure --prefix=/usr/local/berkeleydb
make && make install
ln -s /usr/local/berkeleydb/lib/libdb-6.0.so /usr/lib/
echo “/usr/local/berkeleydb/lib/” 》》 /etc/ld.so.conf
ldconfig
安装MemcacheQ
tar zxvf memcacheq-0.2.0.tar.gz
cd memcacheq-0.2.0
。/configure --prefix=/usr/local/memcacheq --with-bdb=/usr/local/berkeleydb --with-libevent=/usr/local/libevent --enable-threads
make && make install
启动MemcacheQ
Shell
/usr/local/memcacheq/bin/memcacheq -d -uroot -r -l .0.0.1 -p -H /usr/local/mcq -N -R -v -L -B 》 /usr/local/mcq/logs/mcq_error.log 2》&1
附:MemcacheQ参数
-p 《num》 TCP监听端口(default: )
-U 《num》 UDP监听端口(default: 0, off)
-s 《file》 unix socket路径(不支持网络)
-a 《mask》 unix socket访问掩码(default )
-l 《ip_addr》 监听网卡
-d 守护进程
-r 最大化核心文件限制
-u 《username》 以用户身份运行(only when run as root)
-c 《num》 最大并发连接数(default is )
-v 详细输出 (print errors/warnings while in event loop)
-vv 更详细的输出 (also print client commands/reponses)
-i 打印许可证信息
-P 《file》 PID文件
-t 《num》 线程数(default 4)
用PHP测试一下
PHP
《?php
$mcq = new Memcache;
$mcq-》connect(‘.0.0.1’, ) or die (‘Connect Error!’);
for ($i=1; $i《=5; $i++) {
memcache_set($mcq, ‘k’, $i, 0, 0);
}
for ($i=1; $i《=6; $i++) {
$queue = memcache_get($mcq, ‘k’);
if ($queue === false) {
echo “null\n”;
} else {
echo $queue.“\n”;
}
}
memcache_close($mcq);
?》
上面就是Linux编译安装MemcacheQ的方法介绍了,在安装MemcacheQ前,需要先安装Libevent和BerkeleyDB。
Linux运维工程师入门必备的个技术点 本人是linux运维工程师,对这方面有点心得,现在我说说要掌握哪方面的工具吧说到工具,在行外可以说是技能,在行内我们一般称为工具,就是运维必
Linux SYN攻击原理和应对方法 TCP自从年被发明出来之后,历经多年发展,目前成为最重要的互联网基础协议,但TCP协议中也存在一些缺陷。SYN攻击就是利用TCP协议的缺陷,来导
在Linux中使用Attic管理备份数据的操作详解 Attic是一个Python写的删除重复数据的备份程序,其主要目标是提供一种高效安全的数据备份方式。重复数据消除技术的使用使得Attic适用于日常备份,因
标签: 分布式队列秒杀活动
本文链接地址:https://www.jiuchutong.com/biancheng/366837.html 转载请保留说明!友情链接: 武汉网站建设