欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

kafka基礎(chǔ)概念(組件名稱作用)

寫介紹kafka的幾個重要概念(可以參考之前的博文Kafka的簡單介紹):

成都創(chuàng)新互聯(lián)云計算的互聯(lián)網(wǎng)服務(wù)提供商,擁有超過13年的服務(wù)器租用、西部信息中心、云服務(wù)器、網(wǎng)站空間、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗,已先后獲得國家工業(yè)和信息化部頒發(fā)的互聯(lián)網(wǎng)數(shù)據(jù)中心業(yè)務(wù)許可證。專業(yè)提供云主機、網(wǎng)站空間域名注冊、VPS主機、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。

Broker:消息中間件處理結(jié)點,一個Kafka節(jié)點就是一個broker,多個broker可以組成一個Kafka集群;
Topic:一類消息,例如page view日志、click日志等都可以以topic的形式存在,Kafka集群能夠同時負責多個topic的分發(fā);
Partition:topic物理上的分組,一個topic可以分為多個partition,每個partition是一個有序的隊;
Segment:每個partition又由多個segment file組成;
offset:每個partition都由一系列有序的、不可變的消息組成,這些消息被連續(xù)的追加到partition中。partition中的每個消息都有一個連續(xù)的序列號叫做offset,用于partition唯一標識一條消息;
message:這個算是kafka文件中最小的存儲單位,即是 a commit log。

topic:創(chuàng)建topic名稱
partition:分區(qū)編號
offset:表示該partition已經(jīng)消費了多少message
logsize:表示該paritition生產(chǎn)了多少的message
lag:表示有多少條message未被消費
owner:表示消費者
create:表示該partition創(chuàng)建時間
last seen:表示消費狀態(tài)刷新最新時間

參考鏈接:
能查看到kafka中生產(chǎn)了,消費了,還剩下多少message中我們用的是kafkaoffsetmonitor這個監(jiān)控插件

Kafka監(jiān)控工具KafkaOffsetMonitor配置及使用:https://www.cnblogs.com/dadonggg/p/8242682.html

topics是什么?partition是什么?

topics是kafka中數(shù)據(jù)存儲的基本單位
寫數(shù)據(jù),要指定寫入哪個topic 讀數(shù)據(jù),指定從哪個topic去讀
我們可以這樣簡單的理解
topic就類似于數(shù)據(jù)庫中的一張表,可以創(chuàng)建任意多個topic 每一個topic的名字是唯一的

kafka基礎(chǔ)概念(組件名稱作用)
例如:
程序A產(chǎn)生了一類消息,然后把這類消息放在kafka group中 ,這由程序A產(chǎn)生的這個消息就叫一個topic
程序B需要 訂閱這個消息,才能成為這個topic的消費者

每個topic的內(nèi)部都會有一個或多個partitions(分區(qū))
你寫入的數(shù)據(jù),他其實是寫入每一個topic里的其中一個partition,并且當前的數(shù)據(jù)是有序的寫入到paritition中的。
每一個partition內(nèi)都會維護一個不斷增加的ID,每當你寫入一個新的數(shù)據(jù)的時候,這個ID就會增長,這個id就會被稱為這個paritition的offset,每個寫入partition中的message都會對應(yīng)一個offset。
不同的partition都會對應(yīng)他們自己的offset 我們可以利用offset來判斷,當前paritition內(nèi)部的順序,但是我們不能比較來自不同的兩個partition的順序,這是沒有意義的
partition中的數(shù)據(jù)是有序的,不同partition間的數(shù)據(jù)丟失了數(shù)據(jù)的順序。如果topic有多個partition,消費數(shù)據(jù)時就不能保證數(shù)據(jù)的順序。在需要嚴格保證消息的消費順序的場景下,需要將partition數(shù)目設(shè)為1。
//
每個topic將被分成多個partition(區(qū))

kafka基礎(chǔ)概念(組件名稱作用)

每個topic將被分成多個partition(區(qū)),此外kafka還可以配置partitions需要備份的個數(shù)(replicas)
kafka基礎(chǔ)概念(組件名稱作用)

基于replicated方案,那么就意味著需要對多個備份進行調(diào)度;每個partition都有一個server為"leader";leader負責所有的讀寫操作,如果leader失效,那么將會有其他follower來接管(成為新的leader);follower只是單調(diào)的和leader跟進,同步消息即可..由此可見作為leader的server承載了全部的請求壓力,因此從集群的整體考慮,有多少個partitions就意味著有多少個"leader",kafka會將"leader"均衡的分散在每個實例上,來確保整體的性能穩(wěn)定.
其中partition leader的位置(host:port)注冊在zookeeper中

kafka基礎(chǔ)概念(組件名稱作用)

當你講數(shù)據(jù)寫入kafka中,改數(shù)據(jù)默認情況下會在kafka中保存2個星期。當然,我們可以去配置的。如果是默認的2個星期,超過2個星期的話,kafka里面的數(shù)據(jù)就會被無效化。這個時候,該數(shù)據(jù)對應(yīng)的offset就沒有其他的意義了。
從kafka讀取數(shù)據(jù)后 數(shù)據(jù)會自動刪除嗎
不會,kafka中數(shù)據(jù)的刪除跟有沒有消費者消費完全無關(guān)。數(shù)據(jù)的刪除,只跟kafka broker上面上面的這兩個配置有關(guān):
log.retention.hours=48 #數(shù)據(jù)最多保存48小時
log.retention.bytes=1073741824 #數(shù)據(jù)最多1G

提示:寫入到kafka中的數(shù)據(jù),是不可以被改變的。他有一個熟悉就是immutability。也就是說,你沒有辦法去更改已經(jīng)寫入到kafka中的數(shù)據(jù)。
如果你想更新一個數(shù)據(jù)memssage,那你只能重新寫入memssage到kafka中,并且這個新的message會有一個新的offset,以區(qū)別于之前寫入的message。
對于每一個寫入kafka中的數(shù)據(jù),他們會隨機的寫入到當前topic中的某一個partition內(nèi),有一個例外,你提供一個key給當前的數(shù)據(jù),這個時候,你就可以用當前的key去控制當前數(shù)據(jù)應(yīng)該傳入到哪個partition中。

每一個topic中都可以由多個parititions 這是由你來決定的

網(wǎng)頁題目:kafka基礎(chǔ)概念(組件名稱作用)
本文URL:http://www.chinadenli.net/article34/iiihpe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機App開發(fā)企業(yè)建站品牌網(wǎng)站建設(shè)ChatGPT外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)