1. 程式人生 > >Kafka排隊:Apache Kafka作為消息傳遞系統

Kafka排隊:Apache Kafka作為消息傳遞系統

微服務 div 從服務器 讓我 pac 基本 沒有 消息隊列 配置

1.目標

在這個Apache Kafka教程中,我們將學習Apache Kafka Queuing 的概念 基本上,Kafka中的排隊是傳統消息傳遞的模型之一。所以,讓我們首先簡要介紹Kafka作為消息傳遞系統,這將有助於我們更好地理解Kafka排隊。此外,我們將看到Kafka Queue的一些應用程序更好地清除這個概念。那麽,讓我們從Kafka Queuing教程開始吧。

技術分享圖片

卡夫卡隊列

2.卡夫卡作為消息系統

傳統上有兩種消息傳遞模型,例如Kafka中的Kafka排隊和發布 - 訂閱。
讓我們詳細討論兩個Kafka模型:

測試你對卡夫卡的了解程度

一世。卡夫卡隊列

在此Kafka消息傳遞系統中,

Kafka消費者 可以從服務器讀取。此外,每個記錄都在這裏轉到其中一個。它有一些優勢和一些弱點。它的優勢在於它允許我們在多個消費者實例上劃分數據處理,這有助於我們擴展處理。但它的弱點是,它不是多用戶,只要一個進程讀取它已經消失的數據。

II。Kafka Publish-Subscribe

在這個Kafka Publish-Subscribe系統中,記錄被廣播給所有Kafka消費者。它允許我們將數據廣播到多個進程。但是,它也有一些限制,例如無法進行擴展處理,因為每個消息都發送給每個用戶。
在卡夫卡,這兩個概念由卡夫卡消費者群體推廣。但是,Kafka中的消費者群體允許我們使用Kafka隊列來分割處理集合上的處理。

這裏的進程集合指的是消費者組的成員。此外,Kafka允許我們使用Kafka發布 - 訂閱向多個消費者群體廣播消息。
學習Apache Kafka工作流程| Kafka Pub-Sub Messaging
因此,Kafka模型的主要優點是每個Kafka主題都可以使用這些屬性 - 它可以擴展處理,也可以是多用戶。因此,這意味著我們不必選擇其中一個。
與傳統的消息系統相比,Kafka具有更強的訂購保證。
由於傳統系統中的處理沒有並行性,因此Kafka在並行性概念上表現良好。因為Kafka可以在一組消費者流程中提供訂購保證和負載平衡。

3.需要卡夫卡隊列

Kafka Queuing應用程序之一是Microservice架構。

它本質上要求某種消息排隊系統。讓我們先了解微服務架構。它是將互連的單片應用程序解耦為不同的獨立模塊以及外部數據源以及API的概念。因此,為了處理微服務 - 外部源和微微服務和通信,消息隊列就出現了。
此外,雖然我們將一個大的單片應用程序劃分為更小的微服務(松散耦合),但那時REST API調用增加了這些微服務,並且與外部數據源的連接數也增加了。
閱讀Kafka性能調優 - Kafka優化的方法
但是,保持這個龐大的系統同步是不可取的,因為它可以使整個應用程序無響應。而且,它首先可以打破分成微服務的整個目的。
因此,當時擁有Kafka使整個數據流更容易。因為它是分布式的,高度容錯的,並且它還通過Zookeeper等服務持續監控代理節點。因此,它使工作效率提高。

4. ML Solutions Pipeline中的消息隊列

除此之外,我們還可以使用Kafka排隊等各種ML解決方案管道。但是,ML解決方案構建為:
用戶界面(在客戶端,移動/網絡) - →API服務器和數據庫 - →機器學習(黑盒子)。
但是,ML黑盒子計算量很大,並且在阻塞同步模式下使這些請求實際上並不容易。此外,在這種情況下,所有請求都可以在隊列中並配置使用者API以逐個獲取這些請求並將其提供給ML黑盒子。因此,雖然涉及計算密集型任務,但此管道可以輕松處理,例如從數千個圖像中識別對象,即使不丟失任何請求也可能需要相當長的時間。
讓我們修改Apache Kafka Producer For Beginners 2018
基本上,微服務部署到容器中,例如通過容錯的分布式Kafka代理 節點集群進行 調解,並使用它監控它的Zookeeper,這似乎是一種進取軟件開發的新方法。
所以,這完全是關於Kafka Queuing:Kafka作為消息傳遞系統。希望你喜歡我們的解釋。

5.結論

因此,我們已經看到了Kafka排隊的完整概念。此外,我們討論了為什麽Kafka作為消息排隊。與此同時,我們學習了兩個模型--Kafka隊列和Kafka發布 - 訂閱。此外,我們看到了為什麽我們需要Kafka Queuing。最後,我們討論了ML解決方案管道中的消息隊列。但是,如果在Kafka中發生任何關於排隊的查詢,請隨時通過評論部分詢問。
另請參閱 -
最佳Apache Kafka測驗 - 3分鐘解決,以
供參考

Kafka排隊:Apache Kafka作為消息傳遞系統