寫介紹kafka的幾個(gè)重要概念(可以參考之前的博文Kafka的簡單介紹):
成都創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),臨澧網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:臨澧等地區(qū)。臨澧做網(wǎng)站價(jià)格咨詢:13518219792Broker:消息中間件處理結(jié)點(diǎn),一個(gè)Kafka節(jié)點(diǎn)就是一個(gè)broker,多個(gè)broker可以組成一個(gè)Kafka集群;
Topic:一類消息,例如page view日志、click日志等都可以以topic的形式存在,Kafka集群能夠同時(shí)負(fù)責(zé)多個(gè)topic的分發(fā);
Partition:topic物理上的分組,一個(gè)topic可以分為多個(gè)partition,每個(gè)partition是一個(gè)有序的隊(duì);
Segment:每個(gè)partition又由多個(gè)segment file組成;
offset:每個(gè)partition都由一系列有序的、不可變的消息組成,這些消息被連續(xù)的追加到partition中。partition中的每個(gè)消息都有一個(gè)連續(xù)的序列號叫做offset,用于partition唯一標(biāo)識一條消息;
message:這個(gè)算是kafka文件中最小的存儲(chǔ)單位,即是 a commit log。
topic:創(chuàng)建topic名稱
partition:分區(qū)編號
offset:表示該partition已經(jīng)消費(fèi)了多少message
logsize:表示該paritition生產(chǎn)了多少的message
lag:表示有多少條message未被消費(fèi)
owner:表示消費(fèi)者
create:表示該partition創(chuàng)建時(shí)間
last seen:表示消費(fèi)狀態(tài)刷新最新時(shí)間
參考鏈接:
能查看到kafka中生產(chǎn)了,消費(fèi)了,還剩下多少message中我們用的是kafkaoffsetmonitor這個(gè)監(jiān)控插件
Kafka監(jiān)控工具KafkaOffsetMonitor配置及使用:https://www.cnblogs.com/dadonggg/p/8242682.html
topics是什么?partition是什么?
topics是kafka中數(shù)據(jù)存儲(chǔ)的基本單位
寫數(shù)據(jù),要指定寫入哪個(gè)topic 讀數(shù)據(jù),指定從哪個(gè)topic去讀
我們可以這樣簡單的理解
topic就類似于數(shù)據(jù)庫中的一張表,可以創(chuàng)建任意多個(gè)topic 每一個(gè)topic的名字是唯一的
例如:
程序A產(chǎn)生了一類消息,然后把這類消息放在kafka group中 ,這由程序A產(chǎn)生的這個(gè)消息就叫一個(gè)topic
程序B需要 訂閱這個(gè)消息,才能成為這個(gè)topic的消費(fèi)者
每個(gè)topic的內(nèi)部都會(huì)有一個(gè)或多個(gè)partitions(分區(qū))
你寫入的數(shù)據(jù),他其實(shí)是寫入每一個(gè)topic里的其中一個(gè)partition,并且當(dāng)前的數(shù)據(jù)是有序的寫入到paritition中的。
每一個(gè)partition內(nèi)都會(huì)維護(hù)一個(gè)不斷增加的ID,每當(dāng)你寫入一個(gè)新的數(shù)據(jù)的時(shí)候,這個(gè)ID就會(huì)增長,這個(gè)id就會(huì)被稱為這個(gè)paritition的offset,每個(gè)寫入partition中的message都會(huì)對應(yīng)一個(gè)offset。
不同的partition都會(huì)對應(yīng)他們自己的offset 我們可以利用offset來判斷,當(dāng)前paritition內(nèi)部的順序,但是我們不能比較來自不同的兩個(gè)partition的順序,這是沒有意義的
partition中的數(shù)據(jù)是有序的,不同partition間的數(shù)據(jù)丟失了數(shù)據(jù)的順序。如果topic有多個(gè)partition,消費(fèi)數(shù)據(jù)時(shí)就不能保證數(shù)據(jù)的順序。在需要嚴(yán)格保證消息的消費(fèi)順序的場景下,需要將partition數(shù)目設(shè)為1。
//
每個(gè)topic將被分成多個(gè)partition(區(qū))
每個(gè)topic將被分成多個(gè)partition(區(qū)),此外kafka還可以配置partitions需要備份的個(gè)數(shù)(replicas)
基于replicated方案,那么就意味著需要對多個(gè)備份進(jìn)行調(diào)度;每個(gè)partition都有一個(gè)server為"leader";leader負(fù)責(zé)所有的讀寫操作,如果leader失效,那么將會(huì)有其他follower來接管(成為新的leader);follower只是單調(diào)的和leader跟進(jìn),同步消息即可..由此可見作為leader的server承載了全部的請求壓力,因此從集群的整體考慮,有多少個(gè)partitions就意味著有多少個(gè)"leader",kafka會(huì)將"leader"均衡的分散在每個(gè)實(shí)例上,來確保整體的性能穩(wěn)定.
其中partition leader的位置(host:port)注冊在zookeeper中
當(dāng)你講數(shù)據(jù)寫入kafka中,改數(shù)據(jù)默認(rèn)情況下會(huì)在kafka中保存2個(gè)星期。當(dāng)然,我們可以去配置的。如果是默認(rèn)的2個(gè)星期,超過2個(gè)星期的話,kafka里面的數(shù)據(jù)就會(huì)被無效化。這個(gè)時(shí)候,該數(shù)據(jù)對應(yīng)的offset就沒有其他的意義了。
從kafka讀取數(shù)據(jù)后 數(shù)據(jù)會(huì)自動(dòng)刪除嗎
不會(huì),kafka中數(shù)據(jù)的刪除跟有沒有消費(fèi)者消費(fèi)完全無關(guān)。數(shù)據(jù)的刪除,只跟kafka broker上面上面的這兩個(gè)配置有關(guān):
log.retention.hours=48 #數(shù)據(jù)最多保存48小時(shí)
log.retention.bytes=1073741824 #數(shù)據(jù)最多1G
提示:寫入到kafka中的數(shù)據(jù),是不可以被改變的。他有一個(gè)熟悉就是immutability。也就是說,你沒有辦法去更改已經(jīng)寫入到kafka中的數(shù)據(jù)。
如果你想更新一個(gè)數(shù)據(jù)memssage,那你只能重新寫入memssage到kafka中,并且這個(gè)新的message會(huì)有一個(gè)新的offset,以區(qū)別于之前寫入的message。
對于每一個(gè)寫入kafka中的數(shù)據(jù),他們會(huì)隨機(jī)的寫入到當(dāng)前topic中的某一個(gè)partition內(nèi),有一個(gè)例外,你提供一個(gè)key給當(dāng)前的數(shù)據(jù),這個(gè)時(shí)候,你就可以用當(dāng)前的key去控制當(dāng)前數(shù)據(jù)應(yīng)該傳入到哪個(gè)partition中。
每一個(gè)topic中都可以由多個(gè)parititions 這是由你來決定的
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
本文題目:kafka基礎(chǔ)概念(組件名稱作用)-創(chuàng)新互聯(lián)
文章位置:http://jinyejixie.com/article36/jjopg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、網(wǎng)站內(nèi)鏈、品牌網(wǎng)站建設(shè)、網(wǎng)站制作、ChatGPT、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容