消息中間件在分佈式系統中的做用與消息隊列-ActiveMQ

1、消息中間件在分佈式系統中的做用服務器

1 消息中間件的定義
    Message-oriented middleware (MOM) is software infrastructure focused on sending and receiving messages between distributed systems.
    消息中間件是在分佈式系統中完成消息的發送和接收的基礎軟件。微信

2 消息中間件的做用
    消息中間件可利用高效可靠的消息傳遞機制進行平臺無關的數據交流,並基於數據通訊來進行分佈式系統的集成。經過提供消息傳遞和消息排隊模型,能夠在分佈式環境下擴展進程間的通訊。
    經過消息中間件,應用程序或組件之間能夠進行可靠的異步通信,從而下降系統之間的耦合度,提升系統的可擴展性和可用性。併發

                                

3 應用場景
    經過使用消息中間件對Dubbo服務間的調用進行解耦異步

                

4 JMS (Java Message Service)分佈式

    JMS元素 JMS元素 .net

        JMS提供者 ---- 鏈接面向消息中間件的,JMS接口的一個實現。線程

        JMS客戶 ------ 生產或消費消息的基於Java的應用程序或對象。 中間件

        JMS生產者 ---- 建立併發送消息的JMS客戶。 對象

        JMS消費者 ---- 接收消息的JMS客戶。 blog

        JMS消息 ------ 能夠在JMS客戶之間傳遞的數據的對象。

        JMS隊列 ------ 一個容納那些被髮送的等待閱讀的消息的區域。 

        JMS主題 ------ 一種支持發送消息給多個訂閱者的機制。 

    JMS應用程序接口 

        ConnectionFactory(鏈接工廠)------ 用戶用來建立到JMS提供者的鏈接的被管對象。 

        Connection(鏈接)------------------- 鏈接表明了應用程序和消息服務器之間的通訊鏈路。 

        Destination(目標)------------------- 消息發佈和接收的地點,或者是隊列,或者是主題。 

        MessageProducer(消息生產者)----- 由會話建立的對象,用於發送消息到目標。

        MessageConsumer(消息消費者)---- 由會話建立的對象,用於接收發送到目標的消息。 

        Message(消息)---------------------- 是在消費者和生產者之間傳送的對象。 

        Session(會話)------------------------ 表示一個單線程的上下文,用於發送和接收消息。

5 JMS消息模型 

一、點對點或隊列模型


            

    JMS 點對點隊列模型特色:

        一、消息生產者生產消息發送到queue中,而後消息消費者從queue中取出而且消費消息。

        二、消息被消費之後,queue中再也不有存儲,因此消息消費者不可能消費到已經被消費的消息。

        三、Queue支持存在多個消費者,可是對一個消息而言,只會有一個消費者能夠消費。

二、發佈者/訂閱者模型


            

    JMS 發佈/訂閱模型特色:

    消息生產者(發佈)將消息發佈到topic中,同時有多個消息消費者(訂閱)消費該消息。 發佈到topic的消息會被全部訂閱者消費。

6 實現了JMS規範的消息中間件產品 :ActiveMQ、RocketMQ、RabbitMQ、HornetQ ……

2、消息隊列-ActiveMQ

請參考之前寫的博文:http://www.javashuo.com/article/p-xagqegzp-nc.html

 

<!-- Start -->

獲知及時信息,請關注個人我的微信訂閱號:0與1的那點事

<!-- End -->

相關文章
相關標籤/搜索