|
memcacheQ是一個單純的分布式消息隊列服務。
一,MEMCACHEQ的應用背景
Web應用中為什
么會需要消息隊列?主要原因是由于在高并發環境下,由于來不及同步處理,請求往往會發生堵塞,比如說,大量的insert,update之類的請求同時到達mysql,直接導致無數的行鎖表鎖,甚至最后請求會堆積過多,從而觸發too manyconnections錯誤。通過使用消息隊列,我們可以異步處理請求,從而緩解系統的壓力。在Web2.0的時代,高并發的情況越來越常見,從而使消息隊列有成為居家必備的趨勢,相應的也涌現出了很多實現方案,像Twitter以前就使用RabbitMQ實現消息隊列服務,現在又轉而使用Kestrel來實現消息隊列服務,此外還有很多其他的選擇,比如說:ActiveMQ,ZeroMQ等。
上述消息隊列的軟件中,大多為了實現AMQP,STOMP,XMPP之類的協議,變得極其重量級,但在很多Web應用中的實際情況是:我們只是想找到一個緩解高并發請求的解決方案,不需要雜七雜八的功能,一個輕量級的消息隊列實現方式才是我們真正需要的。
二,MEMCACHEQ的特性
1 簡單易用
2 處理速度快
3 多條隊列
4 并發性能好
5 與memcache的協議兼容。這就意味著只要裝了memcache的extension就可以了,不需要額外的插件。
三,安裝
MEMCACHEQ依賴于libevent和BerkleyDB。
BerkleyDB用于持久化存儲隊列的數據。 這樣在MEMCACHEQ崩潰或者服務器掛掉的時候,
不至于造成數據的丟失。這一點很重要,很重要。
它的安裝依賴于BerkeleyDB 和 libevent,所以要先安裝這BerkeleyDB和libevent:
其中libevent如果你安裝過memcached就已經安裝了,如果不確定,就檢查一下吧
1. 先檢查libevent, libevent-devel是否已經安裝: rpm -qa|grep libevent 輸出中必須包含libevent, libevent-deve, 如果缺失,使用以下命令安裝:
yum install libevent yum
install libevent-devel
注意事項:libevent, libevent-devel優先使用yum安裝源,光盤鏡像中的rpm包安裝,這樣穩定性和兼容性可得到保證,網上流傳的使用源碼安裝libevent的方法會有問題,因為很可能系統已經安裝libevent, 再使用源碼安裝, 必然導致沖突,造成意外問題,所以一定要使用上述命令檢查系統是否已經安裝相應的庫
2. 安裝BerkleyDB
1.tar zxvf bdb-5.3.3.tar.gz
2.cd db-5.3.3/
#需要進入特定操作系統編譯環境,更常規軟件的編譯有些區別
3.cd build_unix/
4. ../dist/configure --prefix=/usr/local/berkeleydb
#如果沒有指定特殊安裝路徑,編譯完成,需要將Berkeley Db運行庫的路徑添加到系統配置里面
echo "/usr/local/BerkeleyDB.5.3/lib/" >> /etc/ld.so.conf
#重載系統Ld運行庫
ldconfig
5. make & make install
記得改/etc/ld.so.conf文件,添加/usr/local/BerkeleyDB.5.3/lib啊,不然后面的mcq會安裝錯誤。
而BerkeleyDB就要去下載了
點擊下載Berkeley DB 5.3.21.rar
下面安裝memcacheq,
先下載一個memcacheq-0.2.0.rar
解壓,進目錄
./configure
主站蜘蛛池模板:
高平市|
正蓝旗|
南漳县|
马公市|
隆回县|
当涂县|
平凉市|
扎赉特旗|
柘城县|
岗巴县|
偏关县|
阜阳市|
鄯善县|
望谟县|
政和县|
涟水县|
洪江市|
乐都县|
海伦市|
麻江县|
清涧县|
阳东县|
咸阳市|
鲁甸县|
佛学|
永年县|
吴江市|
庐江县|
大城县|
郓城县|
滨州市|
五台县|
康保县|
泾川县|
修武县|
八宿县|
崇明县|
安岳县|
方山县|
盱眙县|
盖州市|