ActiveMQ使用筆記(二)ActiveMQ消息持久化一
原文地址:http://www.huaishao8.com/config/activemq/122.html
在broker中設(shè)置屬性persistent=”true”(默認(rèn)是true),同時(shí)發(fā)送的消息也應(yīng)該是persitent類(lèi)型的。ActiveMQ消息持久化有三種方式:AMQ、KahaDB、JDBC。
1、AMQ
AMQ是一種文件存儲(chǔ)形式,它具有寫(xiě)入速度快和容易恢復(fù)的特點(diǎn)。消息存儲(chǔ)在一個(gè)個(gè)文件中,文件的默認(rèn)大小為32兆,如果一條消息的大小超過(guò)了32兆,那么這個(gè)值必須設(shè)置大點(diǎn)。當(dāng)一個(gè)存儲(chǔ)文件中的消息已經(jīng)全部被消費(fèi),那么這個(gè)文件將被標(biāo)識(shí)為可刪除,在下一個(gè)清除階段,這個(gè)文件被刪除。默認(rèn)配置如下:
<persistenceAdapter>
<amqPersistenceAdapter directory="activemq-data" maxFileLength="32mb"/>
</persistenceAdapter>
<amqPersistenceAdapter directory="activemq-data" maxFileLength="32mb"/>
</persistenceAdapter>
AMQ的屬性:
屬性名稱(chēng) | 默認(rèn)值 | 描述 |
directory | activemq-data | 消息文件和日志的存儲(chǔ)目錄 |
useNIO | true | 使用NIO協(xié)議存儲(chǔ)消息 |
syncOnWrite | false | 同步寫(xiě)到磁盤(pán),這個(gè)選項(xiàng)對(duì)性能影響非常大 |
maxFileLength | 32mb | 一個(gè)消息文件的大小 |
persistentIndex | true | 消息索引的持久化,如果為false,那么索引保存在內(nèi)存中 |
maxCheckpointMessageAddSize | 4kb | 一個(gè)事務(wù)允許的最大消息量 |
cleanupInterval | 30000 | 清除操作周期,單位ms |
indexBinSize | 1024 | 索引文件緩存頁(yè)面數(shù),缺省為1024,當(dāng)amq擴(kuò)充或者縮減存儲(chǔ)時(shí),會(huì)鎖定整個(gè)broker,導(dǎo)致一定時(shí)間的阻塞,所以這個(gè)值應(yīng)該調(diào)整到比較大,但是代碼中實(shí)現(xiàn)會(huì)動(dòng)態(tài)伸縮,調(diào)整效果并不理想。 |
indexKeySize | 96 | 索引key的大小,key是消息ID |
indexPageSize | 16kb | 索引的頁(yè)大小 |
directoryArchive | archive | 存儲(chǔ)被歸檔的消息文件目錄 |
archiveDataLogs | false | 當(dāng)為true時(shí),歸檔的消息文件被移到directoryArchive,而不是直接刪除 |
posted on 2013-03-15 08:55 科菱財(cái)神 閱讀(2791) 評(píng)論(0) 編輯 收藏 所屬分類(lèi): ActiveMQ