1. 程式人生 > >ActiveMQ訊息持久化儲存策略

ActiveMQ訊息持久化儲存策略

這裡寫圖片描述 

 ActiveMQ的核心是Java編寫的,也就是說如果服務端沒有Java執行環境ActiveMQ是無法執行的。ActiveMQ啟動時,啟動指令碼使用wrapper包裝器來啟動JVM。JVM相關的配置資訊在啟動目錄的“wrapper.conf”配置檔案中。各位讀者可以通過改變其中的配置項,設定JVM的初始記憶體大小和最大記憶體大小(當然還可以進行其他和JVM有關的設定,例如開啟debug模式)。

從最初的AMQ Message Store方案,到ActiveMQ V4版本中推出的High performance journal(高效能事務支援)附件 ,並且同步推出了關於關係型資料庫的儲存方案。ActiveMQ 5.3版本中又推出了對KahaDB的支援(

首先KahaDB基於檔案系統,其次KahaDB支援事務, V5.4版本後稱為ActiveMQ預設的持久化方案),後來ActiveMQ V5.8版本開始支援LevelDB,到現在,V5.9+版本提供了標準的Zookeeper+LevelDB叢集化方案。

ActiveMQ常用的三種持久化儲存方案:KahaDB、LevelDB、關係型資料庫。其中KahaDB和LevelDB的工作原理基本類似,都採用記憶體+磁碟介質的方案:記憶體用於存放資訊的位置索引,磁碟介質上存放訊息內容。而關係型資料庫的方案,ActiveMQ將完全通過JDBC對資料庫進行操作完成訊息的儲存和修改。某種儲存方案的效能,除了這種儲存方案的工作原理以外對其有直接影響外,還要考慮它的工作環境。

只有根據軟體團隊預估的系統壓力、綜合建設方案、考慮後續擴容方式,來確定採用哪一種儲存方案,才是科學的

架構設計:系統間通訊(23)——提高ActiveMQ工作效能(中) - JAVA入門中 - CSDN部落格