前段時間因需要,回顧了下MQ。將部分整理內容分享備忘:
消息隊列(MQ) | 企業服務總線(ESB) | |
定義 | MQ(Message Queue)消息隊列。 把要傳輸的數據放在隊列中,通過消息傳遞隊列發送和接收消息數據,實現數據的傳遞。 |
ESB(Enterprise Service Bus) 是一個集中式的服務總線,它是傳統消息中間件技術與XML、Web服務等技術結合的產物。通過ESB,可以實現集成業務處理,監控系統間消息流動,管理系統間交互的業務服務。 >>傳統消息中間件指MQ |
解決的問題 | 傳遞數據 | 集成(企業應用整合) |
常見產品 | ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ | OSB,WebSphere,BizTalk,Orion |
產品形態 | 通常是:運行服務 + 監控API(提供監控數據) | 通常是:設計器、運行服務、監控管理平臺 |
消息收發協議 | 相對固定的幾種 MQTT、XMPP、Stomp、AMQP、OpenWire |
支持得比較廣泛(能適配外部各種主流系統所使用的協議) |
消息傳遞模式 | 通常支持兩種:點對點模式、發佈訂閱模式 | 能支持更多(消息的整個路由是可編排的,更爲靈活) |
消息路由控制 | 弱。具備基本的消息篩選,但不支持複雜控制。 | 強。支持自定義的編排。 |
消息處理 | 不支持(收到是什麼消息,發出的數據還是它)。 | 支持。如:格式轉換(將hl7轉爲xml/內容修改)、拆分(收一個消息拆分爲多個發出)、聚合(收多個消息合併爲一個)、... |
特性支持情況 | 弱,通常交給外部系統自己實現(視具體MQ產品)。 比如,對消息重複處理的限制機制等,提供了基本保障(一些特殊和異常情況是沒有處理的),往往需要外部系統自行擴展實現。 |
內置會支持和考慮很多特性,以orion爲例,內置支持:重複調用限制機制、熔斷機制、隔離機制、消息錯誤箱/垃圾箱機制等。 |
初步小結 | 1、ESB包含MQ 2、ESB提供了更多的用於系統集成的功能,包括:消息的路由和處理,支持更多通訊協議(從各種不同系統收發消息)。 3、ESB內置了更多的特性,以支撐對消息的路由控制(重複調用限制、熔斷、隔離等)。 |
分享請註明出處
本文鏈接:https://blog.csdn.net/debug_fan/article/details/104993637