activeMQ 傳輸協議

2021-07-12 00:10:53 字數 1748 閱讀 3272

activemq支援的client-broker:

transmission control protocol (tcp)

這是預設的broker配置,tcp的client監聽埠是61616。

在網路傳輸資料前,必須要序列化資料,訊息是通過乙個叫wire protocol的來序列化成位元組流。目的是促使網路上的效率和資料快速互動。

tcp連線的uri形式:tcp://hostname:port?key=value&key=value,加粗部分是必須的

tcp協議傳輸可靠性高,穩定性強,支援任何平台

new i/o api protocol
nio協議和tcp協議類似,但nio更側重於底層的訪問操作。它允許開發人員對同一資源可有更多的client呼叫和服務端有更多的負載。

適合使用nio協議的場景:

(1) 可能有大量的client去鏈結到broker上

一般情況下,大量的client去鏈結broker是被作業系統的執行緒數所限制的。因此, nio的實現比tcp需要更少的執行緒去執行,所以建議使用nio協議

(2)可能對於broker有乙個很遲鈍的網路傳輸 nio比tcp提供更好的效能

nio連線的uri形式:nio://hostname:port?key=value

transport connector配置示例:

name="tcp"

uri="tcp://localhost:61616?trace=true" />

name="nio"

uri="nio://localhost:61618?trace=true" />

transportconnectors>

user datagram protocol(udp)
udp僅僅是乙個鏈結協議,所以它沒有可靠性之說

tcp是被用在穩定可靠的場景中使用的;udp通常用在快速資料傳遞和不怕資料丟失的場景中,還有activemq通過防火牆時,只能用udp

udp連線的uri形式:udp://hostname:port?key=value

name="udp"

uri="udp://localhost:61618?trace=true" />

transportconnectors>

secure sockets layer protocol (ssl)
連線的uri形式:ssl://hostname:port?key=value

transport connector配置示例:

name="ssl"

uri="ssl://localhost:61617?trace=true"/>

transportconnectors>

vm protocol(vm)
vm transport允許在vm內部通訊,從而避免了網路傳輸的開銷。這時候採用的連線不是socket連線,而是直接的方法呼叫。

第乙個建立vm連線的客戶會啟動乙個embed vm broker,接下來所有使用相同的broker name的vm連線都會使用這個broker。當這個broker上所有的連線都關閉的時候,這個broker也會自動關閉。

連線的uri形式:vm://brokername?key=value

ActiveMQ傳輸協議

activemq預設的傳輸協議是tcp 在activemq的配置檔案 conf activemq.xml可對配置檔案進行修改和檢視 tcp openwire 它是預設的 tcp在網路傳輸前需要序列化資料,訊息通過乙個叫wire protocol的來序列化成位元組流 預設情況下activemq把wir...

ActiveMQ 傳輸協議總結

activemq支援的client broker size large color red b transmission control protocol tcp b color size 這是預設的broker配置,tcp的client監聽埠是61616。在網路傳輸資料前,必須要序列化資料,訊息是...

ActiveMQ的傳輸協議

activemq這些協議傳輸的底層預設都是使用bio網路的io模型。只有當我們指定使用nio才使用nio的io模型。將tcp改為nio協議,有更好的效能 1 修改配置檔案 2 將 中的url改為nio即可,生產者和消費者都要改 1 修改配置檔案 name auto nio uri auto nio ...