如果生產者正在發送大消息大小的消息(比方說120 MB)。 kahadb和levelDB如何處理這些消息。大消息大小的ActiveMQ持久性存儲
kahadb:我的理解是日誌大小默認爲32 MB。如果我發送超過32MB的消息,它將如何處理這樣的消息?我是否需要根據郵件大小將此大小更改爲適當的值?
leveldb:默認情況下100mB是默認大小來存儲消息數據。發生了哪一次滾動。 IF消息超過100mB。它如何處理?
謝謝,
ANuj
如果生產者正在發送大消息大小的消息(比方說120 MB)。 kahadb和levelDB如何處理這些消息。大消息大小的ActiveMQ持久性存儲
kahadb:我的理解是日誌大小默認爲32 MB。如果我發送超過32MB的消息,它將如何處理這樣的消息?我是否需要根據郵件大小將此大小更改爲適當的值?
leveldb:默認情況下100mB是默認大小來存儲消息數據。發生了哪一次滾動。 IF消息超過100mB。它如何處理?
謝謝,
ANuj
對於Kahadb我們有消息,消息的滾動的日誌,並且如果長度超過消息日誌的則創建新的文件的大小的命令被存儲在固定長度的數據文件。 KahaDB只是將新消息附加到現有日誌並照顧創建新日誌。
此外,KahaDB以BTree的形式保存索引。這些Btree索引持有對由其消息ID索引的數據日誌中消息的引用。簡而言之,KahaDB將藉助此索引準確知道消息的存儲位置。所以,添加任何新的配置存儲在此消息不應該要求
關於在單個數據日誌文件中的全部信息,我不知道可能是位研究需要 和改變journalSizeLength爲KahaDB嘗試你的運氣之前請通過這 link(閱讀評論可能有幫助)
祝你好運!
希望它有幫助。
當我測試時,我發現它不會爲相同的消息滾動日誌。相反,它保持大小靈活,如果我發送一個200MB的消息,kahadb將創建200MB的日誌。所以它看起來像kahadb必須保持一個消息在同一個文件,即使它跨越日誌大小的限制。我看到了levelDB的相同行爲。如果我對此有錯,請糾正我。 – 2014-11-04 07:20:12
編輯我的答案 – Vihar 2014-11-04 17:16:41