![]() | |
Sun Java System Message Queue 3 2005Q4 技術摘要 |
附錄 B
Message Queue 功能Message Queue 服務完整實作 JMS 1.1 規格,提供可靠的非同步彈性訊息傳送 如需有關 JMS 相容性問題的資訊,請參閱附錄 A「選擇性 JMS 功能的 Message Queue實作」。但是,Message Queue 的功能超出了 JMS 需求。您可以使用這些功能整合並監視由許多分散式元件組成的系統,在全天候的關鍵任務作業中交換數以千計的訊息。
本書已在描述 Message Queue 服務的過程中,介紹過這些功能。為了方便起見,此附錄提供了 Message Queue 功能之摘要:簡短描述每項功能,摘要使用功能所需的作業,並為本書中介紹這些功能之章節提供參照,以及為 Message Queue 文件集中詳細描述這些功能之具體文件提供參照。
表 B-1 中按照字母順序列出 Message Queue 的功能,大致上可分為以下幾種類別。
- 整合支援
- 安全性
- 可延伸性
- 可用性
- 可管理性
- 彈性伺服器配置
- 效能
表 B-1 訊息佇列功能
功能
說明與參照
管理工具
Message Queue 服務包括 GUI 和指令行工具,可管理目標、作業事件、長期訂閱、管理物件存放區、使用者儲存庫、JDBC 相容的資料存放區和伺服器憑證。
參照
管理工具。
「Message Queue 管理指南」的「管理工作和工具」。
認證
認證使用者尋找與代理程式的連線。
Message Queue 服務藉由對照儲存在使用者儲存庫中的值驗證使用者名稱及密碼,讓使用者得以連線到代理程式。儲存庫可以是 Message Queue 隨附的平面檔案儲存庫或是 LDAP 儲存庫 (LDAP v2 或 v3 協定)。
使用方式
參照
「Message Queue 管理指南」的「管理安全性」。
授權
授權使用者執行特定作業。
Message Queue 服務可讓您建立存取控制特性檔案,指定使用者和使用者群組可以執行的作業。代理程式會在用戶端嘗試建立連線、建立產生者、建立使用者或瀏覽佇列時,檢查此檔案。
使用方式
編輯為代理程式實例自動建立的存取控制特性檔案。
參照
「Message Queue 管理指南」的「管理安全性」。
自動重新連線
管理員設定連線工廠管理物件的連線屬性,以在連線失敗時自動重新連線。可以重新連線到相同的代理程式,或者連線到叢集中的其他代理程式 (如果有使用叢集)。您可以指定嘗試重新連線的次數,以及每次嘗試的間隔時間。若是叢集代理程式,亦可以指定在代理程式清單中重複連線的次數,以及是否要在清單中以特定的順序重複連線。
參照
連線服務。
「Message Queue 管理指南」中的「管理受管理物件」與「管理物件屬性參照」。
代理程式叢集
管理員可以藉由將這些代理程式實例群組為代理程式叢集,平衡眾多實例間用戶端連線及訊息傳送。
使用方式
參照
「Message Queue 管理指南」中的「使用叢集」。
代理程式配置
管理員可以設定代理程式特性,來調校 Message Queue 服務效能。這包括路由服務、永久性服務、安全性、監視和管理物件的管理作業。
參照
「Message Queue 管理指南」中的「配置代理程式」與「代理程式特性參照」。
C 用戶端支援
C 用戶端可以使用 Message Queue 訊息傳送服務傳送與接收訊息。C API 可讓傳統 C 應用程式與 C++ 應用程式參與 JMS 型訊息傳送。
支援大部分標準 JMS 功能的 C 用戶端執行階段都支援 Message Queue C API,除了下列情況之外:使用管理物件;對映、串流或物件訊息內文類型;分散式作業事件;以及佇列瀏覽器。C 用戶端執行階段也不支援 Message Queue 的大部分企業功能。
參照
「Message Queue Developer's Guide for C Clients」。
壓縮訊息
Java 用戶端可以設定訊息特性,讓用戶端執行階段壓縮正在傳送的訊息。用戶端的執行階段會解壓縮訊息,再將訊息傳送給用戶。您還可使用提供的其他特性,判定壓縮訊息是否真能改善效能。
參照
訊息內文。
「Message Queue Developer's Guide for Java Clients」中的 「Message Queue Clients: Design and Features」。
可配置的永久性
管理員可以配置代理程式使用 Message Queue 隨附的檔案型永久存放區,或 JDBC 相容資料庫,例如 Oracle 8i。
使用方式
設定與檔案系統永久存放區或 JDBC 相容儲存相關的代理程式特性。
參照
「Message Queue 管理指南」中的「配置代理程式」。
可配置的實體目標
管理員可以在建立目標時設定實體目標特性,以定義部分訊息傳送的運作方式。您可以針對任何目標配置下列運作方式:未使用訊息的最大數目或這類訊息允許的最大記憶體數量,當到達記憶體限制時,代理程式應該拒絕這些訊息;產生者和用戶的最大數目;訊息的最大大小;單一批次中所傳送的訊息之最大數目;目標是否只傳送給本機用戶;以及是否可將目標的停用訊息移至停用訊息佇列。
參照
「Message Queue 管理指南」中的「管理實體目標」與「實體目標特性參照」。
連線偵測
管理員可以設定連線工廠屬性,以指定從用戶端執行階段到代理程式的偵測作業頻率。這可讓用戶端事先偵測到失敗的連線。
參照
連線服務。
「Message Queue 管理指南」中的「連線工廠屬性」。
停用的訊息佇列
Message Queue 訊息服務會建立停用訊息佇列,以保留過期的訊息或代理程式無法處理的訊息。您可以檢查佇列的內容,以監視、調校系統效能,或對系統效能進行疑難排解。
參照
「Message Queue 管理指南」中的「管理實體目標」。
HTTP 連線
Java 用戶端可以建立至代理程式的 HTTP 連線。
HTTP 傳輸允許透過防火牆傳送訊息。Message Queue 使用在 Web 伺服器環境中執行的 HTTP 通道 Servlet 來實作 HTTP 支援。用戶端產生的訊息會作為 HTTP 請求包裝在用戶端執行階段內,並透過防火牆使用 HTTP 傳送到通道 Servlet。通道 Servlet 會從 HTTP 請求擷取 JMS 訊息,並透過 TCP/IP 將訊息傳送到代理程式。
使用方式
參照
「Message Queue 管理指南」的附錄 C「啟用 HTTP 支援」。
互動式監視
管理員可以使用 imqcmd metrics 指令,從遠端監視代理程式。監視的資料包括 JVM 度量、代理程式訊息流量、連線、連線資源、訊息、目標訊息流量、目標用戶、目標資源使用。
參照
監視服務。
「Message Queue 管理指南」中的「監視訊息伺服器」。
J2EE 資源介面
Message Queue 提供可以外掛到 J2EE 相容應用程式伺服器的資源介面。應用程式伺服器將 Message Queue 用作 JMS 提供者,以滿足 J2EE 的需求,讓在應用程式伺服器中執行的分散式元件能使用可靠、非同步的訊息彼此互動。
使用方式
設定介面屬性以配置介面。
參照
「Message Queue 管理指南」中的「JMS 資源介面屬性參照」。
JNDI 服務提供者支援
用戶端可以使用 JNDI API 查找管理物件。
管理員可以使用 imqobjmgr 公用程式,在使用 JNDI 存取的物件存放區中新增、列示、更新和刪除管理物件。
參照
管理工具。
「Message Queue 管理指南」中的「指令參照」。
LDAP 伺服器支援
管理員可以使用 LDAP 伺服器用於管理物件存放區,以及儲存認證與授權所需的使用者資訊。依預設,Message Queue 會為此資料提供檔案型儲存。
管理物件的使用方式
參照
「Message Queue 管理指南」中的「管理安全性」。
使用者儲存庫的使用方式
參照
「Message Queue 管理指南」中的「管理受管理物件」。
記憶體資源管理
管理員可以配置下列運作方式:
參照
「Message Queue 管理指南」中的「配置代理程式」、「代理程式特性參照」與「實體目標特性參照」。
訊息壓縮
開發者可以設定訊息標頭特性,讓用戶端執行階段壓縮訊息再進行傳送。用戶端執行階段會解壓縮訊息,再將訊息傳送給用戶。
參照
訊息特性。
「Message Queue Developer's Guide for Java Clients」中的「Message Compression」。
對用戶端的訊息流量控制
管理員或開發者可以配置連線,指定各項流量限制與計算方案,以將有效負載與控制訊息衝突降至最低,因而可將訊息流量放至最大。
使用方式
設定連線工廠管理物件 (管理員) 的流量控制屬性,或者設定連線工廠 (開發者) 的流量控制特性。
參照
「Message Queue 管理指南」中的「管理受管理物件」與「管理物件屬性參照」。
訊息型監視 API
Java 用戶端可以使用監視 API 建立自訂的監視應用程式。監視應用程式是從特殊度量主題目標擷取度量訊息的用戶。
使用方式
參照
監視服務。
「Message Queue Developer's Guide for Java Clients」中的「Using the Metrics Monitoring API」。
「Message Queue 管理指南」中的「監視訊息伺服器」。
佇列傳送至多個用戶
用戶端可以為給定的佇列註冊多個用戶。
管理員可以為佇列指定使用中用戶的最大數目,以及備份用戶的最大數目。代理程式可以分散訊息到註冊用戶,平衡用戶間負載以允許系統比例調整。
使用方式
設定實體目標特性 maxNumActiveConsumers 和 maxNumBackupConsumers。
參照
「Message Queue 管理指南」中的「實體目標特性」與「多重用戶佇列效能」。
可靠的資料永久性
若要取得絕對的可靠性,藉由將 imq.persist.file.sync.enabled 特性設為 True,可要求作業系統能同步寫入資料到永久存放區。這樣可以消除因系統當機而產生的資料遺失,但會影響效能。請注意,雖然資料並未遺失,但是叢集中的其他代理程式將無法使用該資料,因為目前沒有叢集代理程式共用該資料。當系統備份時,代理程式能可靠地繼續作業。
參照
「Message Queue 管理指南」中的「代理程式特性參照」。
安全連線
用戶端可以使用安全套接層 (SSL) 標準 (透過 TCP/IP 與 HTTP 傳輸),安全地傳輸訊息。這些 SSL 型連線服務允許加密訊息在用戶端與代理程式之間傳送。
SSL 支援是以自身簽名的伺服器憑證為基礎。Message Queue 提供可產生私密金鑰/公開密鑰對並將公開密鑰內嵌於自身簽名憑證中的公用程式。此憑證會傳送給任何請求連線到代理程式的用戶端,且該用戶端會使用此憑證來設定加密連線。
使用方式
參照
「Message Queue 管理指南」中的「管理安全性」。
「Message Queue Developer's Guide for Java Clients」。
「Message Queue Developer's Guide for C Clients」。
SOAP 支援
用戶端可以接收 SOAP (XML) 訊息,將訊息包裝成 JMS 訊息,並使用 Message Queue 將其當作 JMS 訊息執行交換訊息。
用戶端可以使用特殊 Servlet 來接收 SOAP 訊息;使用公用程式類別將 SOAP 訊息包裝成 JMS 訊息,以及使用其他公用程式類別從 JMS 訊息擷取 SOAP 訊息。用戶端可以使用標準 SAAJ 程式庫來組合與分解 SOAP 訊息。
參照
「Message Queue Developer's Guide for Java Clients」中的「Working With SOAP Message」。
執行緒管理
管理員可以指定要指派給任何特定連線服務的最大執行緒與最小執行緒數目。管理員也可以判定連線服務是否使用共用的執行緒模型增加流量,這可讓專屬閒置連線的執行緒得以供其他連線使用。
使用方式
設定連線服務執行緒相關特性。
參照
「Message Queue 管理指南」中的「配置代理程式」。
可調校的效能
管理員可以設定代理程式特性以調整記憶體使用情況、執行緒資源、訊息流量、連線服務、可靠性參數,以及其他會影響訊息流量與系統效能的元素。
參照
監視服務。
「Message Queue 管理指南」中的「監視訊息伺服器」與「分析與調校訊息服務」。