Kafka排隊:Apache Kafka作為消息傳遞系統
1.目標
在這個Apache Kafka教程中,我們將學習Apache Kafka Queuing 的概念 。基本上,Kafka中的排隊是傳統消息傳遞的模型之一。所以,讓我們首先簡要介紹Kafka作為消息傳遞系統,這將有助於我們更好地理解Kafka排隊。此外,我們將看到Kafka Queue的一些應用程序更好地清除這個概念。那麽,讓我們從Kafka Queuing教程開始吧。
2.卡夫卡作為消息系統
傳統上有兩種消息傳遞模型,例如Kafka中的Kafka排隊和發布 - 訂閱。
讓我們詳細討論兩個Kafka模型:
測試你對卡夫卡的了解程度
一世。卡夫卡隊列
在此Kafka消息傳遞系統中,
II。Kafka Publish-Subscribe
在這個Kafka Publish-Subscribe系統中,記錄被廣播給所有Kafka消費者。它允許我們將數據廣播到多個進程。但是,它也有一些限制,例如無法進行擴展處理,因為每個消息都發送給每個用戶。
在卡夫卡,這兩個概念由卡夫卡消費者群體推廣。但是,Kafka中的消費者群體允許我們使用Kafka隊列來分割處理集合上的處理。
學習Apache Kafka工作流程| Kafka Pub-Sub Messaging
因此,Kafka模型的主要優點是每個Kafka主題都可以使用這些屬性 - 它可以擴展處理,也可以是多用戶。因此,這意味著我們不必選擇其中一個。
與傳統的消息系統相比,Kafka具有更強的訂購保證。
由於傳統系統中的處理沒有並行性,因此Kafka在並行性概念上表現良好。因為Kafka可以在一組消費者流程中提供訂購保證和負載平衡。
3.需要卡夫卡隊列
Kafka Queuing應用程序之一是Microservice架構。
此外,雖然我們將一個大的單片應用程序劃分為更小的微服務(松散耦合),但那時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作為消息傳遞系統