国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

ActiveMQ:設置多個并行的消費者

import. / 1767人閱讀

摘要:消息隊列本來就是一種經典的生產者與消費者模式。為了最大效率的完成對消息隊列中的消息的消費,一般可以同時起多個一模一樣的消費者,以并行的方式來拉取消息隊列中的消息。這樣的好處有多個加快處理消息隊列中的消息。

消息隊列本來就是一種經典的生產者與消費者模式。生產者向消息隊列中發送消息,消費者從消息隊列中獲取消息來消費。

消息的傳送一般由一個代理來實現的,那就是Message broker(即消息代理)。Message broker有兩大職責,一是消息路由,二是數據轉換。這就好比A給B寄信,如果不使用郵局的話,就要自己想辦法送達,費時費力,而通過郵局的話,只要B的地址在郵局中注冊過,那么天涯海角也能送達。這里的郵局扮演的角色就像消息系統中的Message broker。

眾所周知,消息隊列是典型的’send and forget’原則的體現,生產者只管發送,不管消息的后續處理。為了最大效率的完成對消息隊列中的消息的消費,一般可以同時起多個一模一樣的消費者,以并行的方式來拉取消息隊列中的消息。這樣的好處有多個:

1.加快處理消息隊列中的消息。
2.增強穩定性,如果一個消費者出現問題,不會影響對消息隊列中消息的處理。

使用spring JMS來配置多個Listener實例,只需配置MessageListenerContainer就行。


    
    
    
    

多配置一個屬性concurrentConsumers,設置值為4,就是同時啟動4個Listener實例來消費消息。

使用MessageSender來發送100條消息,可以檢查消息處理的順序會發生變化。

for (int i = 0; i < 100; i++) {
    messageSender.send(String.format("message %d",i));
} 

運行結果如下:

...
Received: message 4
Received: message 7
Received: message 6
Received: message 5
Received: message 8
Received: message 10
Received: message 9
…  

除了設置一個固定的Listener數量,也可以設置一個Listener區間,這樣MessageListenerContainer可以根據消息隊列中的消息規模自動調整并行數量。


    
    
    
    
 
    

這次使用的是concurrency屬性,4-8表示最小并發數是4,最大并發數為8,當然也可以給一個固定值,比如5,這樣就相當于concurrentConsumers屬性了。

http://blog.csdn.net/super_sc...

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/70220.html

相關文章

  • 如何解決MQ消息消費順序問題

    摘要:利用的高級特性特性是一種負載均衡的機制。在一個消息被分發到之前,首先檢查消息屬性。屬性為某個值的消息單個消息或消息集合在描述,和的對應關系,以及負載均衡策略時。同樣做到了保證消息的順序情況下,均衡消費的消費消息。 通常mq可以保證先到隊列的消息按照順序分發給消費者消費來保證順序,但是一個隊列有多個消費者消費的時候,那將失去這個保證,因為這些消息被多個線程并發的消費。但是有的時候消息按照...

    Atom 評論0 收藏0
  • ActiveMQ 嵌入Tomcat

    摘要:嵌入在一些項目中,單獨開啟一個,對于項目實施來說有時略顯繁瑣。待啟動后,選擇所在的進程。連接后選擇頁簽紅框的地方分別為已消費和已進入中的消息的條數。 ActiveMQ 嵌入Tomcat 在一些項目中,單獨開啟一個ActiveMQ,對于項目實施來說有時略顯繁瑣。所以我們將ActiveMQ內嵌到Tomcat,Tomcat啟動同時就順帶啟動了ActiveMQ。由此我們需要掌握三個個重要的知識...

    curlyCheng 評論0 收藏0
  • 消息中間件及ActiveMQ介紹

    摘要:中間件的分類基于遠程過程調用的中間件?;趯ο笳埱蟠淼闹虚g件。消息傳遞指的是程序之間通過在消息中發送數據進行通信,而不是通過直接調用彼此來通信,直接調用通常是用于諸如遠程過程調用的技術。 一.中間件 1.1 什么是中間件? 由于業務、機構和技術是不斷變化的,因此為其服務的軟件系統必須適應這樣的變化。在合并、添加服務或擴展可用服務之后,公司可能無力負擔重新創建信息系統所需的成本。正是在...

    jaysun 評論0 收藏0

發表評論

0條評論

import.

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<