什麼是apache kafka資料收集?
Apache Kafka - 介紹
Apache Kafka起源於LinkedIn,後來成為2011年的開源Apache項目,然後在2012年成為Apache的一流項目。 Kafka以Scala和Java編寫。 Apache Kafka是基於發布訂閱的容錯訊息系統。它是快速,可擴展和分佈的設計。
本教學將探討Kafka的原理,安裝,操作,然後將介紹Kafka叢集的部署。最後,我們將總結即時應用和與Big Data Technologies的整合。
在進行本教學之前,您必須對 Java,Scala,分散式訊息系統和Linux環境有很好的了解。
在大數據中,使用了大量的數據。關於數據,我們有兩個主要挑戰。第一個挑戰是如何收集大量數據,第二個挑戰是分析收集的數據。為了克服這些挑戰,您需要一個訊息系統。
Kafka專為分散式高吞吐量系統而設計。 Kafka作為一個更傳統的郵件經紀人的替代品往往運作良好。與其他訊息系統相比,Kafka具有更好的吞吐量,內建的分區,複製和固有的容錯能力,使其非常適合大規模的訊息處理應用程式。
什麼是郵件系統?
訊息系統負責將數據從一個應用程式傳輸到另一個應用程序,因此應用程式可以專注於數據,但不用擔心如何共享數據。分散式訊息傳遞基於可靠訊息佇列的概念。訊息在客戶端應用程式和訊息系統之間非同步排隊。兩種類型的訊息傳遞模式是可用的 - 一種是點對點,另一種是發布訂閱(pub-sub)訊息系統。大多數訊息傳遞模式跟隨pub-sub。
點到點資訊系統
在點對點系統中,訊息將保留在佇列中。一個或多個消費者可以使用佇列中的消息,但是特定訊息可以由最多僅一個消費者消費。一旦消費者讀取隊列中的消息,它將從該隊列中消失。該系統的典型範例是訂單處理系統,其中每個訂單將由一個訂單處理器處理,但多訂單處理器可以同時工作。下圖描繪了結構。
發布訂閱訊息系統
在發布訂閱系統中,郵件將保留在主題中。與點對點系統不同,消費者可以訂閱一個或多個主題並消費該主題中的所有訊息。在Publish-Subscribe系統中,訊息產生器被稱為發布者,訊息消費者被稱為訂戶。一個現實的例子是Dish TV,它發布不同的頻道,如運動,電影,音樂等,任何人都可以訂閱自己的頻道,並獲得他們的訂閱頻道。
什麼是Kafka?
Apache Kafka是分散式發布訂閱訊息傳遞系統和強大的佇列,可以處理大量數據,並使您能夠將訊息從一個端點傳遞到另一個終端。 Kafka適用於離線和線上訊息消費。 Kafka訊息保留在磁碟上,並在叢集內複製以防止資料遺失。 Kafka建立在ZooKeeper同步服務之上。它與Apache Storm和Spark完美結合,即時串流數據分析。
優點 以下是Kafka的幾個好處 -
可靠性 - Kafka是分佈式,分區式,複製型和容錯型。
可擴展性 - Kafka訊息系統輕鬆擴展,無需停機時間。
耐用性 - Kafka使用分散式提交日誌,這意味著郵件盡可能快速地仍然存在於磁碟上,因此它是耐用的。
效能 - Kafka對於發布和訂閱訊息都具有高吞吐量。它保持穩定的效能,即使儲存了許多TB的訊息。
Kafka非常快,保證零停機和零資料遺失。
用例
Kafka可用於許多用例。其中有些列在下面 -
指標 - Kafka經常用於運行監控資料。這涉及從分散式應用程式聚合統計信息,以產生操作資料的集中式提要。
日誌聚合解決方案 - Kafka可以在整個組織中使用,從多個服務收集日誌,並以標準格式提供給多個伺服器。
流處理- 流行框架(如Storm和Spark
Streaming)從主題讀取數據,處理它,並將處理後的數據寫入可用於用戶和應用程式的新主題。 Kafka的強大耐用性在流處理方面也非常有用。
Kafka需要
Kafka是處理所有即時資料來源的統一平台。 Kafka支援低延遲訊息傳遞,並在存在機器故障的情況下保證容錯。它具有處理大量不同消費者的能力。 Kafka非常快,執行200萬次寫入/秒。 Kafka將所有資料保留到磁碟,這實質上意味著所有的寫入都會轉到作業系統(RAM)的頁面快取。這將資料從頁面快取傳輸到網路套接字非常有效。
更多Apache相關知識,請造訪Apache使用教學欄位!
以上是什麼是apache kafka資料收集的詳細內容。更多資訊請關注PHP中文網其他相關文章!