Kafka有哪些好的例子可以用來快速入門?
Kafka是由Apache軟件基金會開發的一個開源流處理平臺,由Scala和Java編寫。Kafka是一種高吞吐量的分布式發布訂閱消息系統,它可以處理消費者在網站中的所有動作流數據。 這種動作(網頁瀏覽,搜索和其他用戶的行動)是在現代網絡上的許多社會功能的一個關鍵因素。 這些數據通常是由于吞吐量的要求而通過處理日志和日志聚合來解決。 對于像Hadoop一樣的日志數據和離線分析系統,但又要求實時處理的限制,這是一個可行的解決方案。Kafka的目的是通過Hadoop的并行加載機制來統一線上和離線的消息處理,也是為了通過集群來提供實時的消息。
一個MQ需要哪些部分?生產、消費、消息類別、存儲等等。
對于kafka而言,kafka服務就像是一個大的水池。不斷的生產、存儲、消費著各種類別的消息。那么kafka由何組成呢?
1、 Kafka服務
> Topic:主題,Kafka處理的消息的不同分類。
> Broker :消息代理,Kafka集群中的一個kafka服務節點稱為一個broker ,主要存儲消息數據。存在硬盤中。每個topic 都是有分區的。
> Partition:Topic物理上的分組,一個topic 在broker 中被分為1個或者多個partition,分區在創建topic 的時候指定。
> Message:消息,是通信的基本單位,每個消息都屬于一個partition
2、 Kafka服務相關
> Producer :消息和數據的生產者,向Kafka的一個topic 發布消息。
> Consumer:消息和數據的消費者,定于topic 并處理其發布的消息。
> Zookeeper:協調kafka的正常運行。
二、特點
1、高吞吐量:可以滿足每秒百萬級別消息的生產和消費——生產消費。QPS
2、持久性:有一套完善的消息存儲機制,確保數據的高效安全的持久化——中間存儲。
3、分布式:基于分布式的擴展和容錯機制;Kafka的數據都會復制到幾臺服務器上。當某一臺故障失效時,生產者和消費者轉而使用其它的機器——整體健壯性。