上一章我們介紹了 activemq 的**特性,本章我們將學習 activemq 客戶端的一些高階特性。我們將學習如何保證乙個消費者可以從某個佇列中接收到訊息,而不管多少個消費者訂閱了這個佇列。這種特性我們稱之為獨佔式消費者,可以用於消費者按順序接收訊息的場景或者分布式鎖機制。接下來,我們將學習訊息組,使用它訊息會被分為多個組,而每個組都會被同乙個消費者消費。activemq 支援兩種不同的方式來傳送體積較大的訊息:使用流和使用二進位製大物件訊息,我們也會學習如何使用這兩種方法。出現網路問題時,讓應用保持正確執行是非常重要的,所以我們也會學習容錯傳輸的細節。最後,我們會學習如何使用計畫訊息分發,以便帶有延遲的傳送訊息。
本章中你可能想要了解的特性還有乙個客戶端訊息確認的幾種模式。在下一章我們將學習 activemq 效能調優,而選擇乙個合適的訊息確認方式是獲得良好效能的乙個指標。所以本章我們也會介紹各種訊息確認方式。
使用場景:為了避免單點故障,所以對於乙個佇列的訊息,你的應用有多個消費者進行消費,以防止乙個消費者失敗後應用就不再處理訊息了。訊息佇列的概念就是訊息先進先出,但是多個消費者消費訊息時,接收訊息順序是正確的,但是處理訊息的順序卻未必是正確的(鬼知道執行緒排程器先執行那個處理訊息的**)!為了保證訊息能按順序被處理,只能有乙個消費者;但乙個消費者又不能避免單點故障。所以,這個時候獨佔式消費者就應運而生了:乙個佇列可以有多個消費者,但僅僅只有乙個消費者可以從佇列中消費訊息,這也就是說這個消費者給這個佇列加鎖了,如果這個消費者掛掉了,那麼其他消費者就會上陣替補,但上陣替補的還是只有乙個。
瘦客戶端 胖客戶端 智慧型客戶端
胖客戶端模式將應用程式處理分成了兩部分 由使用者的桌面計算機執行的處理和最適合乙個集中的伺服器執行的處理。乙個典型的胖客戶端包含乙個或多個在使用者的pc上執行的應用程式,使用者可以檢視並運算元據 處理一些或所有的業務規則 同時提供乙個豐富的使用者介面做出響應。伺服器負責管理對資料的訪問並負責執行一些...
胖客戶端 瘦客戶端和富客戶端
以c s結構開發的網路應用程式,需要為客戶端開發專用的客戶端軟體,相對而言其客戶端比較龐大,在客戶端可以實現很多功能,分擔伺服器的負擔,屬於胖客戶端型別。以b s結構開發的web應用,其客戶端只是乙個瀏覽器,所有業務邏輯由伺服器端進行處理,相對而言客戶端比較瘦小,故稱為瘦客戶端。目前比較流行的一種開...
非同步客戶端和同步客戶端
先寫下我的理解,方便後邊閱讀資料校驗。一 同步客戶端 比如乙個連線有兩個請求,請求1 和 請求2,請求1 先發起請求,請求2後發起請求,則請求2 要等待請求1 響應完成才能接收到響應。舉個棗子,httpclient 傳送get請求,執行緒會一致阻塞,直到有響應結果。二 非同步客戶端 比如乙個連線有兩...