消息中間件、JMS

什麼是消息中間件

  消息中間件利用高效可靠的消息傳遞機制進行平臺無關的數據交流,並基於數據通信來進行分佈式系統的集成。通過提供消息傳遞和消息排隊模型,它可以在分佈式環境下擴展進程間的通信。對於消息中間件,常見的角色大致也就有Producer(生產者)、Consumer(消費者)

常見的消息中間件

  ActiveMQ ,是Apache出品,最流行的,能力強勁的開源消息總線。ActiveMQ 是一個完全支持JMS1.1和J2EE 1.4規範的 JMS Provider實現。【5W/s吞吐量】

  RabbitMQ,AMQP協議的領導實現,支持多種場景。淘寶的MySQL集羣內部有使用它進行通訊,OpenStack開源雲平臺的通信組件,最先在金融行業得到運用。【5W/s吞吐量】

  RocketMQ,阿里開源分佈式消息隊列系統 【10W/s吞吐量】

  Kafka,Apache下的一個子項目 。特點:高吞吐,在一臺普通的服務器上既可以達到16W/s的吞吐量;完全的分佈式系統。適合處理海量數據。

系統模塊之間調用關係

  我們通過引入消息中間件ActiveMQ,使得商家後臺系統與搜索系統、商品詳情繫統解除了耦合,提高商家後臺系統的吞吐量。

  在這裏插入圖片描述

JMS

  JMS(Java Messaging Service)是Java平臺上有關面向消息中間件的技術規範,它便於消息系統中的Java應用程序進行消息交換,並且通過提供標準的產生、發送、接收消息的接口簡化企業應用的開發。

  JMS 定義了五種不同的消息正文格式,以及調用的消息類型,允許你發送並接收以一
些不同形式的數據,提供現有消息格式的一些級別的兼容性。
• TextMessage–字符串消息
• MapMessage–鍵值對封裝消息
• ObjectMessage–序列化對象消息
• BytesMessage–字節封裝消息
• StreamMessage–數據流封裝消息

  對於消息的傳遞有兩種類型:
一種是點對點的,即一個生產者和一個消費者一一對應:

一種是發佈/訂閱模式,即一個生產者產生消息並進行發送後,可以由多個消費者進行接收:

ActiveMQ

  

  

  

  

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章