ActiveMQ 傳輸協議總結

2021-09-02 21:00:35 字數 1594 閱讀 1282

activemq支援的client-broker:

[size=large][color=red][b]transmission control protocol (tcp)[/b][/color][/size]

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

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

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

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

[size=medium][color=red][b]new i/o api protocol[/b][/color][/size]

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配置示例:

[size=medium][color=red][b]user datagram protocol(udp)[/b][/color][/size]

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

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

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

[size=medium][color=red][b]secure sockets layer protocol (ssl)[/b][/color][/size]

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

transport connector配置示例:

[size=medium][color=red][b]vm protocol(vm)[/b][/color][/size]

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

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

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

activeMQ 傳輸協議

activemq支援的client broker transmission control protocol tcp 這是預設的broker配置,tcp的client監聽埠是61616。在網路傳輸資料前,必須要序列化資料,訊息是通過乙個叫wire protocol的來序列化成位元組流。目的是促使網路...

ActiveMQ傳輸協議

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

ActiveMQ的傳輸協議

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