|
memcacheQ是一個(gè)單純的分布式消息隊(duì)列服務(wù)。
一,MEMCACHEQ的應(yīng)用背景
Web應(yīng)用中為什
么會(huì)需要消息隊(duì)列?主要原因是由于在高并發(fā)環(huán)境下,由于來(lái)不及同步處理,請(qǐng)求往往會(huì)發(fā)生堵塞,比如說(shuō),大量的insert,update之類的請(qǐng)求同時(shí)到達(dá)mysql,直接導(dǎo)致無(wú)數(shù)的行鎖表鎖,甚至最后請(qǐng)求會(huì)堆積過(guò)多,從而觸發(fā)too manyconnections錯(cuò)誤。通過(guò)使用消息隊(duì)列,我們可以異步處理請(qǐng)求,從而緩解系統(tǒng)的壓力。在Web2.0的時(shí)代,高并發(fā)的情況越來(lái)越常見,從而使消息隊(duì)列有成為居家必備的趨勢(shì),相應(yīng)的也涌現(xiàn)出了很多實(shí)現(xiàn)方案,像Twitter以前就使用RabbitMQ實(shí)現(xiàn)消息隊(duì)列服務(wù),現(xiàn)在又轉(zhuǎn)而使用Kestrel來(lái)實(shí)現(xiàn)消息隊(duì)列服務(wù),此外還有很多其他的選擇,比如說(shuō):ActiveMQ,ZeroMQ等。
上述消息隊(duì)列的軟件中,大多為了實(shí)現(xiàn)AMQP,STOMP,XMPP之類的協(xié)議,變得極其重量級(jí),但在很多Web應(yīng)用中的實(shí)際情況是:我們只是想找到一個(gè)緩解高并發(fā)請(qǐng)求的解決方案,不需要雜七雜八的功能,一個(gè)輕量級(jí)的消息隊(duì)列實(shí)現(xiàn)方式才是我們真正需要的。
二,MEMCACHEQ的特性
1 簡(jiǎn)單易用
2 處理速度快
3 多條隊(duì)列
4 并發(fā)性能好
5 與memcache的協(xié)議兼容。這就意味著只要裝了memcache的extension就可以了,不需要額外的插件。
三,安裝
MEMCACHEQ依賴于libevent和BerkleyDB。
BerkleyDB用于持久化存儲(chǔ)隊(duì)列的數(shù)據(jù)。 這樣在MEMCACHEQ崩潰或者服務(wù)器掛掉的時(shí)候,
不至于造成數(shù)據(jù)的丟失。這一點(diǎn)很重要,很重要。
它的安裝依賴于BerkeleyDB 和 libevent,所以要先安裝這BerkeleyDB和libevent:
其中l(wèi)ibevent如果你安裝過(guò)memcached就已經(jīng)安裝了,如果不確定,就檢查一下吧
1. 先檢查libevent, libevent-devel是否已經(jīng)安裝: rpm -qa|grep libevent 輸出中必須包含libevent, libevent-deve, 如果缺失,使用以下命令安裝:
yum install libevent yum
install libevent-devel
注意事項(xiàng):libevent, libevent-devel優(yōu)先使用yum安裝源,光盤鏡像中的rpm包安裝,這樣穩(wěn)定性和兼容性可得到保證,網(wǎng)上流傳的使用源碼安裝libevent的方法會(huì)有問題,因?yàn)楹芸赡芟到y(tǒng)已經(jīng)安裝libevent, 再使用源碼安裝, 必然導(dǎo)致沖突,造成意外問題,所以一定要使用上述命令檢查系統(tǒng)是否已經(jīng)安裝相應(yīng)的庫(kù)
2. 安裝BerkleyDB
1.tar zxvf bdb-5.3.3.tar.gz
2.cd db-5.3.3/
#需要進(jìn)入特定操作系統(tǒng)編譯環(huán)境,更常規(guī)軟件的編譯有些區(qū)別
3.cd build_unix/
4. ../dist/configure --prefix=/usr/local/berkeleydb
#如果沒有指定特殊安裝路徑,編譯完成,需要將Berkeley Db運(yùn)行庫(kù)的路徑添加到系統(tǒng)配置里面
echo "/usr/local/BerkeleyDB.5.3/lib/" >> /etc/ld.so.conf
#重載系統(tǒng)Ld運(yùn)行庫(kù)
ldconfig
5. make & make install
記得改/etc/ld.so.conf文件,添加/usr/local/BerkeleyDB.5.3/lib啊,不然后面的mcq會(huì)安裝錯(cuò)誤。
而BerkeleyDB就要去下載了
點(diǎn)擊下載Berkeley DB 5.3.21.rar
下面安裝memcacheq,
先下載一個(gè)memcacheq-0.2.0.rar
解壓,進(jìn)目錄
./configure
主站蜘蛛池模板:
漳平市|
永顺县|
安龙县|
灵寿县|
德化县|
武宁县|
随州市|
保山市|
海丰县|
鲁山县|
鱼台县|
册亨县|
方城县|
黔东|
和政县|
永和县|
项城市|
卓尼县|
宜兰县|
炎陵县|
乌恰县|
东山县|
金山区|
沧州市|
卢氏县|
奉节县|
双桥区|
新余市|
志丹县|
久治县|
枣庄市|
绥德县|
南安市|
库车县|
巴彦县|
大英县|
射洪县|
浦东新区|
忻城县|
林芝县|
庆城县|