1.卡夫卡話題
在這篇Kafka文章中,我們將學習Kafka主題與Kafka Architecture的整體概念。Kafka中的體系結構包括復制,故障轉移以及並行處理。此外,我們還將看到創建Kafka主題的方法以及Apache Kafka主題的示例,以便更好地理解Kafka。此外,我們將看到Kafka分區和Kafka日志分區。
那么,讓我們從Kafka主題開始吧。
2.什么是卡夫卡主題?
簡而言之,命名的記錄流就是我們所說的Kafka Topic。基本上,在日志中Kafka存儲主題。但是,Apache Kafka中的主題日志分為幾個分區。此外,Kafka將這些日志的分區分布在多個服務器或磁盤上。換句話說,我們可以說Kafka中的主題是類別,流名稱或提要。
此外,我們可以說Apache Kafka中的主題本身就是發布的以及訂閱樣式消息傳遞。此外,在Kafka主題中可以有零個或多個稱為Kafka Consumer Groups的訂戶。基本上,Kafka中的這些主題分為速度,可伸縮性和大小的分區。
了解有關Kafka Pub-Sub Messaging System的更多信息
3.如何創建Kafka主題
首先,運行kafka-topics.sh並指定主題名稱,復制因子和其他屬性,以在Kafka中創建主題:
/bin/kafka-topics.sh --create \ --zookeeper <hostname>:<port> \ --topic <topic-name> \ --partitions <number-of-partitions> \ --replication-factor <number-of-replicating-servers>
現在,通過一個分區和一個副本,下面的示例創建一個名為“test1”的主題:
讀取Kafka Monitoring
bin/kafka-topics.sh --create \ --zookeeper localhost:2181 \ --replication-factor 1 \ --partitions 1 \ --topic text
此外,運行list topic命令以查看主題:
> bin/kafka-topics.sh --list --zookeeper localhost:2181 test1
確保當應用程序嘗試生成,使用或獲取不存在的主題的元數據時,auto.create.topics.enable屬性設置為true時會自動創建主題。
4.卡夫卡主題分區
此外,Kafka將主題日志分成幾個分區。因此,通常通過記錄鍵,如果密鑰存在並且循環,則在密鑰丟失時將記錄存儲在分區上(默認行為)。默認情況下,有助於確定Kafka Producer發送記錄的分區的鍵是Record Key。
基本上,為了在生產者寫入的許多服務器上擴展主題,Kafka使用分區。此外,為了促進並行消費者,Kafka使用分區。此外,在故障轉移方面,Kafka可以將分區復制到多個Kafka Brokers。
5. Kafka主題日志分區的訂購和基數
好吧,我們可以說,只有在一個分區中,Kafka確實保持了記錄順序。由於分區也是有序的,不可變的記錄序列。並且,通過將分區用作結構化提交日志,Kafka會不斷附加到分區。在分區中,所有記錄都分配了一個順序ID號,我們進一步稱之為偏移量。該偏移量進一步標識分區內的每個記錄位置。
看看Kafka vs RabbitMQ
此外,為了擴展到適合單個服務器的大小,Topic分區允許Kafka日志。主題可以跨越許多服務器上托管的許多分區,但主題分區必須適合托管它的服務器。此外,Apache Kafka中的主題分區是並行的一個單元。也就是說,一次只能由一個分區處理分區消費者群體中的卡夫卡消費者。基本上,Kafka中的Consumer只能在自己的進程或自己的線程中運行。盡管如此,如果消費者停止,Kafka會在同一個消費者群體中的剩余消費者之間傳播分區。
6. Kafka主題分區復制
出於容錯的目的,Kafka可以跨可配置數量的Kafka服務器執行分區復制。基本上,每個分區中都有一個領導服務器和零個或多個跟隨服務器。此外,對於分區,領導者是處理所有讀寫請求的人。
但是,如果領導者去世,追隨者會復制領導者並接管。此外,對於組內的並行消費者處理,Kafka還使用分區。
我們來討論Kafka Schema
7.復制:Kafka分區領導者,追隨者和ISR。
但是,通過使用ZooKeeper,Kafka選擇一個代理的分區副本作為領導者。此外,我們可以說,對於分區,具有分區領導者的代理處理所有記錄的讀寫。此外,對於追隨者(節點/分區對)的領導者分區,Kafka復制了寫入。在定義術語ISR時,同步的跟隨者就是我們所說的ISR(同步副本)。盡管如此,如果分區領導失敗,Kafka會選擇新的ISR作為新的領導者。
8. Kafka架構:Kafka復制 - 復制到分區0
讓我們討論一下ZooKeeper在Kafka中的作用
雖然當分區的所有ISR寫入其日志時,該記錄被認為是“已提交”。但是,我們只能從消費者那里讀取提交的記錄。
所以,這完全是關於卡夫卡主題。希望你喜歡我們的解釋。
了解有關Kafka Tool的更多信息
9.結論
因此,我們已經詳細了解了卡夫卡主題的整個概念。此外,我們討論了Kafka主題分區,Kafka主題中的日志分區和Kafka復制因子。此外,我們看到了Kafka Architecture並在Kafka創建了一個主題。