背景 之前做日誌收集模組時,用到flume。另外也有的方案,整合kafaka來提公升系統可擴充套件性,其中涉及到訊息佇列
當時自己並不清楚為什麼要使用訊息佇列。
而在我自己提出的原始日誌採集方案中不適用訊息佇列
時,有幾個基本問題:1. 日誌檔案上傳過程,有個基本的生產者-消費者
問題;2. 另外系統崩潰時,資料丟失的處理問題。
今天,幾位同事再次談到訊息佇列
這麼個東西,很nb的樣子,我也想弄清楚,ok,搞起。
訊息佇列(message queue,簡稱mq),從字面意思上看,本質是個佇列,fifo先入先出,只不過佇列中存放的內容是message
而已。其主要用途:不同程序process/執行緒thread之間通訊。為什麼會產生訊息佇列
?這個問題問的好,我大概查了一下,沒有查到最初產生訊息佇列的背景,但我猜測可能幾個原因:
不管到底是什麼原因催生了訊息佇列
,總之,上面兩個猜測是其實際應用的典型場景。
切合前一部分猜測的訊息佇列
產生背景,其主要解決兩個問題:
下面針對系統解耦、訊息快取兩點,來分析實際應用訊息佇列
過程中,可能遇到的問題。虛擬場景:process_a通過訊息佇列mq_1向process_b傳遞訊息,幾個問題:
不要著急,閱讀了下面的簡要介紹後,水到渠成,上面幾個問題就可以解決了。 訊息佇列有如下幾個好處,這大都是由其系統解耦和訊息快取兩點擴充套件而來的:
提公升系統可擴充套件性:
其他:
MQ的基本概念
mq全稱 message queue 訊息佇列 是在訊息的傳輸過程中儲存訊息的容器。多用於分布式系統之間進 行通訊。優勢 應用解耦 系統的耦合性越高,容錯性就越低,可維護性就越低。使用 mq 使得應用間解耦,提公升容錯性和可維護性。非同步提速 提公升使用者體驗和系統吞吐量 單位時間內處理請求的數目 ...
基本概念 C 基本概念
由於工作中需要用到c 編寫的一些工具,有時候需要根據需求修改或者定製工具,所以現在不得不學習一下c 的基礎語法,此為筆記,不成章法!機器語言 組合語言 高階語言 面向過程的程式設計方法 物件導向的程式設計方法 泛型程式設計方法 1 演算法設計 2 源程式編輯 3 編譯 4 連線 5 執行除錯 輸入裝...
基本概念 數控系統基本概念
第一章 基本概念 數控工具機cnc是一種按事先編制好的加工零件程式進行加工的高效 自動化加工裝置。是 computer numerical control machine tools 的簡稱。數控工具機較好地解決了複雜 精密 小批量 多品種的零件加工問題,是一種柔性的 高效能的自動化工具機。西門子系...