Message Queue 軟體可讓用戶端使用各種低層級的傳輸協定,與代理程式進行通訊。Message Queue 支援連線服務中描述的連線服務 (以及對應的協定)。
協定是根據應用程式需求 (加密、可透過防火牆存取) 而選擇的,但是所選擇的結果會影響整體效能。
我們的測試比較了 TCP 和 SSL 在兩種狀況下的流量:高可靠性方案 (將 1K 的永久性訊息傳送到包含長期訂閱的主題目標,並且使用 AUTO_ACKNOWLEDGE 確認模式),和高效能方案 (將 1K 的非永久性訊息傳送到不包含長期訂閱的主題目標,並且使用 DUPS_OK_ACKNOWLEDGE 確認模式)。
一般而言,我們發現協定對於可靠性高的方案影響較小。這可能是因為,在可靠性高的方案中,所需要的永久性經常性耗用時間是限制流量的更重要因素,其影響比協定速度的影響更大。另外:
TCP 提供與代理程式進行通訊的最快速方法。
傳送和接收訊息時,SSL 的速度比 TCP 慢了 50% 到 70% (如果是永久性訊息則慢了 50%;非永久訊息則慢了將近 70%)。此外,使用 SSL 建立初始連線的速度較慢 (可能會花費數秒),因為用戶端和代理程式 (若為 HTTPS,則是 Web 伺服器) 需要建立私密金鑰以供加密所傳輸的資料時所使用。由於加密和解密每個低層級 TCP 資料封包都需要進行額外處理,因此效能會降低。
HTTP 的速度比 TCP 或 SSL 慢。HTTP 將在 Web 伺服器上執行的 Servlet 當做用戶端與代理程式之間的代理。將資料封包封裝為 HTTP 請求,以及訊息必須通過兩個躍點 (用戶端至 Servlet、Servlet 至代理程式) 才能到達代理程式,都會影響效能的經常性耗用時間。
HTTPS 的速度比 HTTP 慢,因為 HTTPS 需要額外的經常性耗用時間以加密用戶端與 Servlet 之間以及 Servlet 與代理程式之間的資料封包。