Artemis 通往 ActiveMQ Next 的路線圖
本頁面的目標是找出 Artemis 必須解決以實現與 Classic 功能對等的所有未解決問題。Classic 和 Artemis 之間功能對等的總體目標是讓 Artemis 最終成為 ActiveMQ 的下一個主要版本。本頁面的存在是為了讓我們能夠共同努力實現此目標。本頁面並未列出 Artemis 超出 Classic 現有功能的特性。
功能/情境
本節應用於比較 ActiveMQ Classic 中的哪些功能已在 Artemis 中實作。可以列出功能項目,並提供指向 JIRA 工單的連結以進行更長的對話和解決特定功能細節。這將幫助我們更清楚地追蹤 Artemis 需要的所有內容。此功能清單取自 Classic 的功能頁面。
請記住,並非每個功能都必須有 ✅。即使此頁面上的功能仍有 ❌,如果這些功能被視為低優先級,Artemis 仍可能準備好成為 ActiveMQ Next。Artemis 並不打算成為 ActiveMQ Classic 的 100% 完全重新實作。僅應在合理的情況下重新實作功能。
協定支援
功能 | Artemis 支援 | 版本 |
---|---|---|
OpenWire | ✅ | |
Stomp | ✅ | 1.0, 1.1, 1.2 |
AMQP | ✅ | 1.0 |
MQTT | ✅ | 3.1 |
REST | ✅ |
一般
功能 | Artemis 支援 | JIRA | 注意事項 |
---|---|---|---|
Broker Camel 組件 | ✅ | 範例 | |
探索 | ✅ | UDP 多播和 JGroups | |
企業整合模式 | ✅ | 請參閱「Broker Camel 組件」 | |
水平擴展 | ✅ | 透過叢集或聯盟支援 | |
JMSXUserID | ✅ | 文件 | |
JMX | ✅ | 文件 | |
如果忘記啟動連線,則記錄警告 | ❌ | ||
MDC 記錄 | ❌ | ||
擴展佇列的深度 | ✅ | 文件 | |
URI 協定 | ✅ | vm、tcp、udp、jgroups | |
Proxy 連接器 | ❌ | ||
Unix Shell 指令碼 | ✅ |
叢集
功能 | Artemis 支援 | JIRA | 注意事項 |
---|---|---|---|
主從式 | ✅ | 使用 JDBC、共用檔案系統和複寫;文件 | |
Broker 網路 | ✅ | ARTEMIS-2265 | 透過叢集或聯盟等效實現 |
複寫訊息儲存 | ✅ | 透過複寫 HA 設定等效實現 |
消費者功能
功能 | Artemis 支援 | JIRA | 注意事項 |
---|---|---|---|
消費者非同步派送 | ✅ | 透過 directDeliver URL 參數等效實現 |
|
消費者優先權 | ✅ | ARTEMIS-196 | 文件 |
獨佔消費者 | ✅ | ARTEMIS-853 | 文件 |
管理持久訂閱者 | ✅ | 透過 expiry-delay 位址設定等效實現 |
|
訊息群組 | ✅ | 文件 | |
重新傳遞策略 | ✅ | 文件 | |
追溯性消費者 | ✅ | ARTEMIS-2504 | 2.11 版本即將推出文件 |
選擇器 | ✅ | 文件 | |
慢速消費者處理 | ✅ | 文件 | |
訂閱復原策略 | ✅ | 請參閱追溯性位址 |
目的地功能
功能 | Artemis 支援 | JIRA | 注意事項 |
---|---|---|---|
複合目的地 | ✅ | 支援 OpenWire 客戶端;另請參閱轉移 | |
設定啟動目的地 | ✅ | ||
刪除非使用中目的地 | ✅ | ||
目的地選項 | ✅ | ||
鏡像佇列 | ❌ | 透過非獨佔轉移大致等效實現 | |
每個目的地的策略 | ✅ | 透過 address-settings 設定 |
|
虛擬目的地 | ✅ | 與 OpenWire 客戶端向後相容的文件 | |
萬用字元 | ✅ | 文件 |
攔截器
功能 | Artemis 支援 | JIRA | 注意事項 |
---|---|---|---|
目的地外掛程式 | ✅ | 文件 | |
記錄攔截器 | ✅ | 文件 | |
StatisticsPlugin | ✅ | 透過管理訊息等效實現 | |
TimeStampPlugin | ❌ |
訊息派送功能
功能 | Artemis 支援 | JIRA | 注意事項 |
---|---|---|---|
非同步傳送 | ✅ | 支援 OpenWire,也支援核心 (透過 blockOnDurableSend 和 blockOnNonDurableSend URL 參數) |
|
可外掛的派送策略 | ❌ | 已實作 delay-before-dispatch 和 consumers-before-dispatch | |
訊息游標 | ✅ | 透過分頁等效實現 | |
最佳化確認 | ✅ | 支援 OpenWire 和核心,也透過 ackBatchSize URL 參數支援 |
|
生產者流量控制 | ✅ | 文件 | |
總排序 | ❌ |
訊息功能
功能 | Artemis 支援 | JIRA | 注意事項 |
---|---|---|---|
ActiveMQ Classic 訊息屬性 | ✅ | ||
建議訊息 | ✅ | 透過管理通知提供等效支援 | |
Blob 訊息 | ✅ | 支援任意大小的大型訊息 | |
延遲和排程訊息傳遞 | ✅ | 文件 | |
訊息轉換 | ✅ | 透過轉換器和遠端攔截器支援 | |
ObjectMessage | ✅ | 文件 | |
結構化訊息屬性和 MapMessages | ❌ |
持久性
功能 | Artemis 支援 | JIRA | 注意事項 |
---|---|---|---|
AMQ 訊息儲存 | ✅ | 透過日誌提供等效功能 | |
可設定的 IOException 處理 | ❌ | 所有 IO 錯誤都視為嚴重錯誤 | |
JDBC 支援 | ✅ | ||
KahaDB | ✅ | 透過日誌提供等效功能 | |
Kaha 持久性 | ✅ | 透過日誌提供等效功能 | |
定期檢查磁碟限制 | ✅ | ||
可外掛的儲存鎖定器 | ❌ | ||
複寫的 LevelDB 儲存 | ✅ | 透過日誌複寫 HA 設定提供等效功能 | |
Multi-kahaDB | ❌ | ARTEMIS-839 |
安全性
功能 | Artemis 支援 | JIRA | 注意事項 |
---|---|---|---|
稽核記錄 | ✅ | ARTEMIS-2273 | 文件 |
快取 LDAP 授權模組 | ✅ | ARTEMIS-168 | 文件 |
加密的密碼 | ✅ | 文件 | |
Shiro | ❌ | 透過 JAAS 提供等效功能 |
遷移
本節應有助於回答最終用戶的問題:「我如何從 Classic 遷移到 Artemis?」。這應包括識別任何可以幫助簡化此過程的工具,以及記錄特定於遷移的資訊和程序。