Sun Java logo     上一頁      目錄      索引      下一頁     

Sun logo
Sun Java System Message Queue 3 2005Q1 技術概述 

第 2 章
Message Queue 簡介

Message Queue 是一個可靠的非同步訊息傳送服務,它符合 JMS 1.1 規格。此外,為滿足大型企業部署所需,Message Queue 還提供許多 JMS 規格要求以外的功能。

本章說明 Message Queue 服務架構,並介紹其企業功能。本章包含下列主題:


訊息服務架構

Message Queue 服務包含下列元素:

圖 2-1 顯示這些元件如何一起運作。

圖 2-1 Message Queue 服務架構

圖表顯示 Message Queue 訊息傳送的功能部分。圖形以文字進行說明。

如此圖形所述,訊息佇列用戶端使用 Java 或 C API 來傳送或接收訊息。這些 API 是實作在 Java 或 C 用戶端執行階段程式庫中,它會執行建立代理程式連線與依據連線服務要求封裝位元的實際工作。若應用程式使用受管理物件,用戶端執行階段會在物件儲存中尋找這些物件,並使用它們來配置連線與尋找實體目標。代理程式會路由與傳送訊息。管理員會使用訊息佇列管理工具來管理代理程式,並新增受管理物件到物件儲存。

下列各節簡述每一個元素。

訊息伺服器

訊息伺服器是由一或多個代理程式所組成,它會執行訊息路由與傳送服務。這是 Message Queue 服務的核心。

訊息伺服器是由單一代理程式或一組協同運作的代理程式所組成 (作為代理程式叢集),以執行訊息路由與傳送服務。代理程式是一個執行下列工作的程序:

如需訊息伺服器、其內部元件與其功能的詳細資訊,請參閱第 4 章「訊息伺服器」

Message Queue 企業版支援使用代理程式叢集,代理程式叢集是由多個互連的代理程式實例所組成,允許訊息伺服器根據訊息流量而調整。如需架構說明與叢集配置問題的詳細資訊,請參閱 第 5 章「代理程式叢集」

用戶端執行階段

Message Queue 用戶端執行階段會提供用戶端應用程式到 Message Queue 服務的介面。用戶端執行階段支援 Message Queue 用戶端產生訊息 (將它們傳送到目標) 和使用訊息 (從目標接收) 所需的所有作業。

Message Queue 用戶端執行階段有兩個語言實作,如圖 2-1 中所示:

圖 2-2 說明用戶端執行階段在 Message Queue 用戶端與訊息伺服器間扮演的中間角色。訊息產生使用牽涉到用戶端與用戶端執行階段之間的互動,而訊息傳送是用戶端執行階段與訊息伺服器之間的互動。

圖 2-2 用戶端執行階段與訊息傳送作業

圖表顯示用戶端執行階段與訊息伺服器之間的互動。圖形以文字進行說明。

用戶端執行階段會執行下列功能:

下列各節簡述用戶端執行階段功能。用戶端執行階段某些方面的運作方式可以透過配置連線工廠物件的特性來自訂。

連線處理

若要配置連線處理運作方式,您必須指定用戶端要連線至代理程式的主機名稱與連接埠,以及想要的連線服務類型。若要連線到叢集中的代理程式,您必須指定連線的位址清單。若其中一個代理程式未上線,用戶端執行階段可以連線到叢集中的另一個代理程式。

在企業版中,若連線失敗,用戶端執行階段會自動重新連線到代理程式。重新連線有可能連線到相同的代理程式,或者連線到與原始連線不同的代理程式 (若用戶端是連線到叢集中的代理程式)。

若代理程式實例未使用共用的可用永久性儲存 (可以透過整合 Message Queue 與 Sun Cluster 來完成),若重新連線到不同的代理程式實例,則由失敗 (或中斷連線) 的代理程式所保留的永久性訊息與其他狀態資訊可能會遺失。也就是說,重新連線提供連線防故障備用,但不提供資料可用性。

用戶端標識

若應用程式認為有幫助,可以在任何連線上設定用戶端 ID,必須設定用戶端 ID 才能識別長期訂閱者。

為追蹤長期訂閱,代理程式會使用唯一的用戶端標識。在訊息傳送至主題目標時,用戶端 ID 可用於識別長期訂閱者。代理程式會保留訊息的傳送目標資訊,以便在該訂閱者可用時傳送訊息。

因此,在已部署的應用程式中使用長期訂閱時,應該設定用戶端識別碼。Message Queue 功能能讓您在指定用戶端 ID 時使用特殊的變數名稱語法。這樣不論物件是由管理員建立或由程式碼建立,都能為每個從連線工廠物件取得的連線取得不同的用戶端 ID。如需更多資訊,請參閱「Message Queue 管理指南」。

訊息分散至用戶

代理程式透過連線傳送的訊息會由用戶端執行階段接收,並分散到適當的 Message Queue 階段作業,其中訊息會排入佇列以便由對應的訊息用戶使用,如圖 2-3 中所示。

圖 2-3 訊息傳送至 Message Queue 用戶端執行階段

圖表顯示用戶端執行階段如何支援用於使用用戶端的階段作業佇列。圖形以文字進行說明。

訊息從每個階段作業佇列取回,每次一個,並同步使用 (透過呼叫 receive() 方法的用戶端執行緒) 或非同步使用 (透過呼叫訊息偵聽程式物件的 onMessage() 方法的階段作業執行緒)。(階段作業為單一執行緒的。)

傳送到用戶端執行階段的訊息流量是以每個用戶層級來計算。透過適當地調整連線工廠特性,您可以平衡訊息流量,使得傳送到一個階段作業的訊息不會影響同一時間傳送至其他階段作業的訊息。

確保可靠的訊息傳送

用戶端執行階段在確保可靠的訊息傳送時扮演重要的角色。它支援 JMS 規格的用戶端確認與作業事件模式,且控制用於保證可靠傳送的各種代理程式確認運作方式。

JMS 規格說明許多提供不同可靠性等級的用戶端確認模式。這些確認模式以及由 Message Queue 實作的附加模式,都可以在訊息使用環境中找到 (請參閱用戶端確認)。

在永久性訊息與可靠傳送的案例中,代理程式通常會在完成作業時通知用戶端執行階段,以便確保訊息的使用 (只確認一次)。您可以使用連線工廠特性來抑制此代理程式確認,因而節省網路頻寬與處理時間。當然,抑制代理程式確認,會降低對可靠傳送的保證。

訊息流量控制

用戶端執行階段是跨連線訊息流量的守門員。除了跨連線的正常 JMS 有效負載訊息之外,Message Queue 也會傳送各種控制訊息,這些控制訊息用於保證可靠的傳送、管理跨連線的訊息流量,並執行其他控制功能。

因為有效負載訊息與控制訊息會爭用相同的連線,它們可能會有所衝突,而導致暫停運作。用戶端執行階段會強制各種可配置的流量限制與計算方案,以降低有效負載訊息與控制訊息衝突的情況,因而最大化訊息流量。

覆寫訊息標頭值

用戶端執行階段可以覆寫指定訊息的永久性、使用期限和優先權的 JMS 訊息標頭欄位。

Message Queue 允許在連線層級覆寫訊息標頭:覆寫適用於所有在給定連線環境中產生的訊息。

用戶端執行階段覆寫訊息標頭值的功能讓 Message Queue 管理員可以更加控制訊息伺服器的資源。然而,覆寫這些欄位有干擾應用程式特定需求 (例如,訊息永久性) 的風險。因此,只有在諮詢適當的應用程式使用者或設計者後,才應使用此功能。

其他功能

用戶端執行階段會執行一些其他相關功能:

受管理物件

受管理物件會封裝提供者特定的實作與連線/目標相關的配置資訊。受管理物件可透過程式碼建立,也可以使用管理員工具來建立與配置,受管理物件是儲存在物件儲存中,用戶端應用程式可透過標準 JNDI 查找代碼來存取。

Message Queue 提供下表所示的受管理物件類型。

表 2-1 Message Queue 受管理物件類型 

類型

說明

目標

代表代理程式中的實體目標。包含代理程式中提供者特定的實體目標名稱。訊息用戶和/或訊息產生者物件會使用目標受管理物件來存取對應的實體目標。

連線工廠

建立用戶端應用程式與 Message Queue 訊息伺服器之間的實體連線。同時也會配置 Message Queue 用戶端執行階段,它控制實體連線的運作方式。設定連線工廠受管理物件的屬性值時,您會指定套用至其所建立之物件的所有連線的特性。

XA 連線工廠

用於建立支援分散式作業事件的實體連線 (請參閱分散式作業事件)。XA 連線工廠物件會與一般連線工廠物件共用一組屬性,但會啟用支援分散式作業事件所需的額外機制。

SOAP 端點

識別 SOAP 訊息的最終目標:這是可以接收 SOAP 訊息之 Servlet 的 URL。您可以配置 SOAP 端點受管理物件以指定多重 URL。也可以指定與物件關聯的查找名稱,以及物件儲存屬性。

透過 JNDI 使用受管理物件

雖然 JMS 規格並不需要 JMS 用戶端查找 JNDI 名稱空間中的受管理物件,這樣做有明顯的好處。它允許單一控制來源、允許配置與重新配置連線 (用戶端執行階段運作方式) 而不需要重新撰寫程式碼,它也允許您將用戶端移植到其他 JMS 提供者。

受管理物件讓您可以輕鬆地控制與管理 Message Queue 服務:

換言之,使用受管理物件可以允許 Message Queue 管理員控制訊息服務配置詳細資訊,同時允許將用戶端應用程式設定為獨立於提供者之外。

使用受管理物件表示用戶端程式設計師不需要瞭解提供者特定的語法、物件命名慣例或提供者特定的配置特性。實際上,透過將受管理物件指定為唯讀,管理員可以確保用戶端應用程式無法變更管理員在首次建立受管理物件時設定的屬性值。

而用戶端應用程式可以在其上創設連線工廠與目標受管理物件,此做法會逐漸損壞受管理附件的基本用途。Message Queue 管理員需要控制應用程式所需的代理程式資源,並調校訊息傳送效能。此外,直接創設受管理物件可將用戶端應用程式設定為獨立於應用程式提供者之外。

儘管有這些爭議,應用程式通常會在開發環境創設受管理物件,其中管理控制並不是問題。

物件儲存

Message Queue 受管理物件是放在物件儲存中 (請參閱圖 2-1),它們可由用戶端應用程式透過 JNDI 查找來存取。Message Queue 支援兩種類型的物件儲存:標準的 LDAP 目錄伺服器與檔案系統物件儲存。

LDAP 伺服器物件儲存     LDAP 伺服器是用於生產訊息傳送系統的建議物件儲存。LDAP 實作可從一些供應商處獲得,並設計為在分散式系統中使用。LDAP 伺服器也在生產環境中提供有利的安全性功能。

檔案系統物件儲存     Message Queue 支援檔案系統物件儲存,不建議您將它用於生產系統,但此類型的物件儲存在開發環境中非常易於使用。您所要做的是在您的本機檔案系統上建立目錄,而不是設定 LDAP 伺服器。但是,檔案系統物件儲存不可作為部署在多重電腦節點之用戶端的集中物件儲存,除非這些用戶端可以存取物件儲存所在的目錄。

管理工具

Message Queue 管理工具是由一組指令行公用程式以及一個圖形化使用者介面 (GUI) 管理主控台所組成。

指令行公用程式     Message Queue 提供一組指令行公用程式,可執行所有 Message Queue 管理工作,例如啟動與管理代理程式、建立與管理實體目標、管理受管理物件,以及執行其他更加專用的管理工作。所有指令行公用程式都共用常用格式、語法慣例與選項。如需使用指令行公用程式的詳細資訊,請參閱「Message Queue 管理指南」。

管理主控台     主控台提供 Message Queue 指令行公用程式功能的子集。您可以使用管理主控台來管理代理程式、建立與管理實體目標,以及管理受管理物件。然而,您無法執行某些只有使用指令行公用程式才能執行的專用管理工作。例如,您無法使用管理主控台來啟動代理程式、建立代理程式叢集,或管理使用者儲存庫。這些工作只能使用 Message Queue 指令行公用程式來執行。

Message Queue 管理指南」提供簡短的實用指導,可讓您熟悉管理主控台並說明如何使用它來完成基本的工作。

管理主控台與某些指令行公用程式允許您遠端管理代理程式與實體目標。


產品功能

Message Queue 服務與之前各節所述的架構完全實作 JMS 1.1 規格,可提供可靠、非同步、彈性的訊息傳送。如需 JMS 有關相容議題的文件,請參閱附錄 A「選擇性 JMS 功能的 Message Queue 實作」

然而,Message Queue 的功能遠超過 JMS 規格的規範。這些功能可讓 Message Queue 與由許多分散式元件組成的系統整合,可在全天候的關鍵任務作業中交換數以萬計的訊息。

下面所述 Message Queue 的企業功能分成數種類別:

整合支援功能

由於 Message Queue 在 Message Queue 服務中包含許多傳輸協定與 C 用戶端介面,而且支援 SOAP (XML) 訊息且具有可插入的 J2EE 資源介面,因此可讓您整合企業中的異質應用程式與元件。

多重傳輸支援

Message Queue 支援用戶端使用多種不同的傳輸協定 (包括 TCP 和 HTTP 以及使用安全連線),與 Message Queue 訊息伺服器互動的功能。

HTTP 連線     HTTP 傳輸允許透過防火牆傳送訊息。Message Queue 使用在 Web Server 執行的 HTTP 通道來實作 HTTP 支援。用戶端產生的訊息會使用 HTTP 透過防火牆傳送到通道 Servlet。通道 Servlet 會從 HTTP 請求擷取訊息,並透過 TCP/IP 將訊息傳送到代理程式。相同地,Message Queue 支援使用 HTTPS 通道 Servlet 的安全 HTTP 連線。如需建立 HTTP 連線架構的詳細資訊,請參閱 HTTP/HTTPS 支援。如需設定與配置 HTTP/HTTPS 連線的詳細資訊,請參閱「Message Queue 管理指南」。

安全連線     Message Queue 提供使用安全套接層 (SSL) 標準 (透過 TCP/IP 與 HTTP 傳輸) 來安全地傳輸訊息的功能。這些基於 SSL 的連線服務允許加密在用戶端與代理程式之間傳送的訊息。

SSL 支援是以自身簽名的伺服器憑證為基礎。Message Queue 提供公用程式,可產生自身簽名憑證中的私密金鑰/公開密鑰對。此憑證會傳送給任何要求連線到代理程式的用戶端,且用戶端會使用此憑證來設定與加密連線。如需建立自身簽名憑證以啟用基於 SSL 之連線服務的詳細資訊,請參閱「Message Queue 管理指南」。

C 用戶端介面

除了支援 Java 語言訊息傳送用戶端,Message Queue 還提供 C 語言介面給 Message Queue 服務。C API 可讓傳統 C 應用程式與 C++ 應用程式參與基於 JMS 的訊息傳送。然而,使用 Message Queue C API 的用戶端無法移植至其他 JMS 提供者。

支援大部分標準 JMS 功能的 C 用戶端執行階段都支援 Message Queue C API,除了下列所述之外:使用受管理物件;對映、串流或物件訊息內文類型;分散式作業事件;與佇列瀏覽器。C 用戶端執行階段也不支援大部分 Message Queue 的企業功能。

如需 C API 功能與它如何使用 C 資料類型與函式實作 JMS 程式設計模型的詳細資訊,請參閱「Message Queue Developer's Guide for C Clients」。

SOAP (XML) 訊息傳送支援

Message Queue 支援建立與傳送符合簡單物件存取協定 (SOAP) 規格的訊息。SOAP 允許在集中式與分散式環境中的各點之間交換結構化 XML 資料或 SOAP 訊息。SOAP 訊息是一種 XML 文件,它也可包含附件 (附件格式不一定必須是 XML)。

SOAP 訊息是以 XML 編碼,因此 SOAP 訊息是獨立於訊息平台之外。它們可用於從舊式系統存取資料,並在企業之間共用資料。XML 提供的資料整合功能也讓此技術成為網路運算 (例如 Web 服務) 的本質。防火牆可以識別 SOAP 封包,並依據 SOAP 訊息標頭中揭露的資訊來篩選訊息。

Message Queue 以 Attachments API for Java (SAAJ) 規格實作 SOAP。SAAJ 是一個應用程式設計介面,您可以實作此介面以支援 SOAP 訊息傳送的程式設計模型並提供 Java 物件,以用於建構、傳送、接收與檢查 SOAP 訊息。SAAJ 定義兩個套裝軟體:

Message Queue 提供公用程式可將 SOAP 訊息轉換為 JMS 訊息,反之亦然。這些公用程式允許 Servlet 接收 SOAP 訊息、將訊息轉換為 JMS 訊息、由 Message Queue 服務將訊息傳送給 JMS 用戶、將訊息轉換回 SOAP 訊息,並將訊息傳送至 SOAP 端點。換言之,Message Queue 支援在 SOAP 端點間以可靠與非同步的方式交換 SOAP 訊息,更簡單的說,就是將 SOAP 訊息出版至 Message Queue 訂閱者。

如需詳細資訊,請參閱「Message Queue Developer's Guide for Java Clients」。

J2EE 資源介面

Java 2 Platform Enterprise Edition (J2EE 平台) 是一種 Java 程式設計環境中分散式元件模型的規格。J2EE 平台的其中一個要求是分散式元件必須能透過可靠的非同步訊息交換管道,與另一個分散式元件互動。簡言之,J2EE 平台需要 JMS 支援。

J2EE 程式設計模型中使用訊息驅動 Bean (MDB)、Enterprise Java Bean (EJB) 元件的特殊類型 (可由 JMS 訊息使用) 來提供此支援。J2EE 相容的應用程式伺服器必須提供支援 JMS 訊息傳送的 MDB 容器。這可藉由插入 JMS 資源介面至應用程式伺服器來達成。Message Queue 提供此類資源介面。

藉由將 Message Queue 資源介面插入至應用程式伺服器,在應用程式環境中部署並執行的 J2EE 元件 (包括 MDB) 可以在這些元件間與外部 JMS 元件間交換 JMS 訊息。這提供分散式元件的強大整合功能。

如需 Message Queue 資源介面的詳細資訊,請參閱第 6 章「Message Queue 和 J2EE」

安全性功能

保護儲存與傳送中訊息資料對於大部分企業應用程式而言都非常重要。Message Queue 提供許多等級的安全性,包括使用者認證、資源存取的控制,以及訊息加密。

認證     Message Queue 支援基於密碼的使用者認證。會使用儲存在文字檔案或 LDAP 使用者儲存庫中的密碼,來驗證連線到訊息伺服器的使用者。所有連線嘗試資訊 (使用者與主機電腦) 都會被記錄下來,作為追蹤用途。

授權     存取控制清單 (ACL) 針對代理程式連線與實體目標,提供可詳細配置的存取控制。同時支援使用者與群組存取控制。授權則是針對個別代理程式,每個代理程式可以擁有不同的存取控制檔。

加密     SSL 支援允許使用強式 SSL 實作來加密訊息伺服器與其用戶端 (不論透過 TCP/IP 或 HTTP 連線) 之間的訊息流量。

如需寫入使用者儲存庫、管理存取控制清單與設定 SSL 支援的詳細資訊,請參閱「Message Queue 管理指南」。

延伸性功能

Message Queue 允許您在使用者、用戶端連線或訊息負載增加時,延伸您的應用程式。

可延伸的連線功能

Message Queue 代理程式可以處理數以千計的運作中連線。依預設,每個連線會由一個專屬的代理程式執行緒處理。因為這樣會佔用執行緒 (即使是連線閒置時),您可以配置連線服務,讓多個連線能共用相同的執行緒。此共用執行緒儲存區模型可以顯著地擴充代理程式可支援的連線數目。如需更多資訊,請參閱執行緒儲存區管理程式

代理程式叢集

當連線數目與透過代理程式傳送之訊息的數目增加時,可透過新增額外的代理程式實例至 Message Queue 伺服器,以管理增加的負載。代理程式叢集可以平衡用戶端連線與透過多個代理程式實例傳送的訊息,讓訊息伺服器具有高度的可延伸性。代理程式實例可位於相同的主機或分散在網路中的不同主機。當企業需求成長時,叢集是提升訊息流量與擴充訊息傳送頻寬的理想方式。第 5 章「代理程式叢集」中簡述代理程式叢集,而「Message Queue 管理指南」中則有更完整的說明。

佇列傳送至多個用戶

根據 JMS 規格,佇列目標中的訊息只能傳送給單一用戶。Message Queue 則允許多重用戶註冊佇列。接著,代理程式可以分散訊息到不同的註冊用戶,以平衡負載並允許系統延伸。

佇列傳送到多重用戶實作是使用可配置的負載平衡方式進行。使用此方法時,您可以指定使用中用戶的最大數目,以及發生失敗時用以取代使用中用戶的備份用戶最大數目。此外,負載平衡機制也會考慮用戶的目前處理能力與訊息處理率。

如需負載平衡佇列傳送的詳細資訊,請參閱佇列傳送至多個用戶

可用性功能

Message Queue 提供一些可以降低服務當機時間的功能。這些功能包括失敗預防機制,以及允許與 Sun Cluster 整合以提供高度可用性的機制。

訊息服務穩定性

確保訊息服務可用性其中一個最有效率的方式是:提供高效能服務並降低失敗的發生率。Message Queue 提供相關機制,可避免記憶體過度負載或效能暫停運作。這些機制可用於訊息伺服器與用戶端執行階段。

訊息伺服器資源管理     因為訊息伺服器受限於記憶體與 CPU 資源,當訊息伺服器無法回應或不穩定時,可能會造成過度負載。當訊息產生速度遠超過使用速度時,通常會發生此情形。為避免此情形,您可以在個別實體目標層級或系統範圍層級配置代理程式,以預防記憶體過度執行的情況。如需更多資訊,請參閱記憶體資源管理

用戶端執行階段訊息流量控制     此外,Message Queue 還提供機制可控制傳送至用戶端執行階段的訊息。您可以使用流量控制機制來最佳化傳送到用戶端執行階段的訊息,同時預防用戶端耗盡記憶體。如需更多資訊,請參閱訊息流量控制

自動重新連線到訊息伺服器

Message Queue 提供自動重新連線功能:若訊息伺服器與用戶端之間的連線失敗,Message Queue 會維護用戶端狀態,並同時嘗試重新建立該連線。在大多數情況下,當重新建立連線後,通常會繼續產生與使用訊息。如需詳細資訊,請參閱「Message Queue 管理指南」。

透過 Sun Cluster 提供高度可用性

雖然 Message Queue 的代理程式叢集可提供延伸度極高的訊息伺服器,它目前並不支援叢集中一個代理程式實例到另一個代理程式實例的故障。然而,Message Queue 可與 Sun Cluster 軟體整合以提供具有高度可用性的訊息伺服器。使用針對 Message Queue 開發的 Sun Cluster 代理程式,Sun Cluster 可以確保代理程式失敗時不會遺失任何狀態資料,允許訊息伺服器立即復原以降低當機時間。

可管理性功能

Message Queue 提供一些功能,您可以利用這些功能來監視並管理訊息服務,以及調校訊息服務的效能。

強固的管理工具

Message Queue 同時提供指令行與 GUI 工具,可用來管理 Message Queue 訊息伺服器,並管理目標、作業事件、長期訂閱與安全性 (請參閱管理工具)。

Message Queue 也支援訊息伺服器的遠端監視與管理,並提供工具以管理 JMS 受管理物件、使用者儲存庫、插入式 JDBC 相容資料儲存與自身簽名的伺服器憑證。如需使用這些管理工具的詳細資訊,請參閱「Message Queue 管理指南」。

基於訊息監視的 API

Message Queue 提供簡單的基於 JMS 監視 API,您可以使用此 API 來建立自訂的監視應用程式。這些監視應用程式是一種會從特殊主題目標擷取度量訊息的用戶。度量訊息包括由 Message Queue 代理程式提供的監視資料 (請參閱度量訊息產生者 (企業版))。

如需每個度量訊息類型中報告的度量數目詳細資訊,請參閱「Message Queue Developer's Guide for Java Clients」,以瞭解如何開發使用度量訊息的 Message Queue 用戶端。如需配置度量訊息產生的詳細資訊,請參閱「Message Queue 管理指南」。

可調校的效能

Message Queue 提供許多調校訊息伺服器與用戶端執行階段,以達到最佳化效能。您可以監視關鍵資源並調整記憶體使用情況、執行緒資源、訊息流量、連線服務、可靠性參數,以及其他會影響訊息流量與系統效能的元素。如需調校訊息服務效能的詳細資訊,請參閱「Message Queue 管理指南」。

彈性的伺服器配置功能

Message Queue 允許您選擇如何儲存永久性物件、使用者資訊與受管理物件。

可配置的永久性

為確保訊息傳送,Message Queue 會儲存訊息與其他永久性物件,直到訊息被使用。除了提供高效能的基於檔案的永久性儲存,Message Queue 也支援可配置的永久性。這能讓您將永久性訊息儲存在內嵌或外部 JDBC 相容的資料庫,例如 Oracle 8i。如需更多資訊,請參閱持續性管理程式

LDAP 伺服器支援

Message Queue 為認證與授權所需的受管理物件與使用者資訊提供基於檔案的儲存體。不過,Message Queue 也支援使用 LDAP 伺服器來儲存受管理物件與使用者儲存庫。LDAP 伺服器提供儲存與擷取此類資訊的安全標準方式,建議用於生產系統。如需使用 LDAP 伺服器來儲存受管理物件與使用者儲存庫的資訊,請參閱「Message Queue 管理指南」。


產品版本

Message Queue 有兩個可用版本:企業版與平台版。兩個版本都支援完整的 JMS 規格實作,但每個版本都對應到不同的功能集與授權容量。下表比較兩個版本支援的功能集。如需這些功能的說明,請參閱產品功能

表 2-2 功能比較:企業版與平台版 

企業版

平台版

進階的整合支援功能

HTTP 支援、TCP 支援

TCP 支援

基於安全套接層 (SSL) 標準的安全連線

基於安全套接層 (SSL) 標準的安全連線

C 語言 API、Java API

Java API

(C API 只能搭配試用版授權使用。)

SOAP (XML) 訊息傳送支援

SOAP (XML) 訊息傳送支援

J2EE 資源介面

J2EE 資源介面

安全性功能

從文字檔案或 LDAP 使用者儲存庫提供認證、使用存取控制檔案進行授權、提供 SSL 加密。

與企業版相同

延伸性功能

可延伸的連線功能

固定的連線功能

訊息伺服器可實作為代理程式叢集

單一代理程式訊息伺服器

佇列傳送到不限數量的訊息用戶 (每個佇列)

最多只能佇列傳送到三個訊息用戶 (每個佇列)

可用性功能

透過記憶體資源管理與訊息流量控制提供訊息服務穩定性

與企業版相同

在叢集中用戶端連線至不同的代理程式故障,或自動重新連線到相同的代理程式。

不提供用戶端連線故障備用功能。允許自動重新連線到相同的代理程式。

透過 Sun Cluster 提供高度可用性

透過 Sun Cluster 提供高度可用性

可管理性功能

強固的管理工具

強固的管理工具

除了管理工具與記錄功能外,還提供基於訊息的監視 API

只提供管理工具與記錄功能,不提供基於訊息的監視 API

可調校的效能

可調校的效能

彈性的伺服器配置功能

可插入的永久性

可插入的永久性

LDAP 伺服器支援

LDAP 伺服器支援

平台版與企業版提供的授權容量如下表所示。

企業版

Message Queue 企業版允許您在企業生產環境中部署與執行訊息傳送應用程式。您也可以使用企業版來進行開發、載入測試訊息傳送應用程式與組件並對其進行除錯。企業版具有不限數目的長期授權 (基於使用的 CPU 數量)。授權未對多重代理程式訊息服務中的代理程式數目做出限制。

平台版

Message Queue 平台版未對訊息伺服器所支援的用戶端連線做出數目限制。它提供基本的授權或 90 天的試用授權:

平台版可以從 Sun 網站免費下載,且隨附於 Sun Java System Application Server 平台。您可以在「Message Queue Installation Guide」中找到將 Message Queue 從平台版升級為企業版的說明。


備註

對於所有版本的 Message Queue,產品的某部份 (Message Queue 用戶端執行階段) 可免費再分發於商業用途。產品中的其他部份則不能任意再分發。可免費再分發的部份允許授權者開發 Message Queue 用戶端應用程式 (可連線到 Message Queue 服務),被授權者可出售給協力廠商而不需支付任何授權費用。而向您購買之協力廠商則必須購買 Message Queue 以存取 Message Queue 訊息伺服器,或連線到已安裝並執行 Message Queue 訊息伺服器的第三方。



Sun 產品環境中的 Message Queue

除了做為直接供應用程式使用的中介軟體之外,Message Queue 也可由其他中介軟體以及由 Sun 提供之伺服器與應用程式使用。為達成此目的,Solaris、Java Enterprise System 與 Sun Java System Application Server 中皆提供 Message Queue。

在 Application Server 中,Message Queue 可滿足 J2EE 平台必須具備 JMS 提供者的 JMS 需求。它會由應用程式 (由 Application Server 控管) 直接使用。如需更多資訊,請參閱第 6 章「Message Queue 和 J2EE」



上一頁      目錄      索引      下一頁     


文件號碼 819-2224。   Copyright 2005 Sun Microsystems, Inc. 版權所有。