内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

kafka設(shè)計要點簡介-創(chuàng)新互聯(lián)

最近在學(xué)習kafka,參考官網(wǎng)上的文檔,概括kafka的主要設(shè)計點,希望能幫助大家對kafka的設(shè)計有一個大概的了解,沒說清楚的地方,或者不對的地方希望大家指出,相互幫助學(xué)習,

目前創(chuàng)新互聯(lián)建站已為超過千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、青浦網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

4.       kafka設(shè)計簡介

1

2

3

4

4.1    動機

  • 高吞吐量以支持大數(shù)據(jù)量的事件流,例如實時日志集結(jié)

  • 能很好處理大數(shù)據(jù)積壓以支持線下階段性數(shù)據(jù)加載

  • 低延遲的消息傳送,以支持傳統(tǒng)的消息系統(tǒng)應(yīng)用

  • 支持分區(qū),分布式,實時處理

  • 高可用,故障容錯

因此,kafka被設(shè)計成一個有獨特的元素,類似于數(shù)據(jù)庫日志的傳統(tǒng)的消息系統(tǒng)

4.2    持久化

  • Kafka直接依賴系統(tǒng)的文件系統(tǒng)存儲和緩存,(java NIO)

  • 常量時長足夠了

消息系統(tǒng)大多數(shù)使用Btree作為持久化數(shù)據(jù)結(jié)構(gòu),存儲系統(tǒng)一般混合了高速緩存和真正的磁盤讀取,所以讀取性能是不錯的。但是隨著數(shù)據(jù)量的成倍的增長,性能也會成倍的下降

所以kafaka 使用的是持久化隊列,這樣設(shè)計明顯的優(yōu)勢是與數(shù)據(jù)量大小無關(guān),并且讀不會阻塞寫,服務(wù)器可以利用便宜的硬盤獲得可觀的性能

4.3    效率

支持批量存取,批量會有的影響,大的網(wǎng)絡(luò)數(shù)據(jù)包,大的連續(xù)的磁盤操作,連續(xù)內(nèi)存塊請求等等,所有這些都可以使kafka將突發(fā)性的大的數(shù)據(jù)流量轉(zhuǎn)變?yōu)榫€性寫

支持數(shù)據(jù)壓縮,并使用直接內(nèi)存(javaNio)避免不必要的程序級別的復(fù)制,支持批量數(shù)據(jù)壓縮(這樣比單獨壓縮一個消息更有效),只有在消費信息的時候才會解壓

4.4    Producer(生產(chǎn)者)

負載均衡

生產(chǎn)直接可以將消息發(fā)送到broker而不需要任何中間路由,因為kafka每個節(jié)點都提供關(guān)于其主題每個分區(qū)的leader在那個節(jié)點的相關(guān)元數(shù)據(jù)查詢

異步發(fā)送

批量操作是效率提升的一個重要驅(qū)動,producer可以在指定的邊界緩存操作以批量操作

4.5    Consumer(消費者)

  • Push vs poll

Kafka遵從大多數(shù)消息系統(tǒng)的設(shè)計,由producer將數(shù)據(jù)push到broker,由consumer 從

Broker pull數(shù)據(jù)。而Scribe and Apache Flume 遵從了一個不同的設(shè)計(push based),但這樣有個坑,假如consumer的處理效率沒有broker轉(zhuǎn)發(fā)效率高,就有可能壓垮消費者

4.6    消息傳播

4.7    復(fù)制

  • 法定人數(shù)和狀態(tài)機

大部分日志復(fù)制都采用state-machinestyle,即只要領(lǐng)導(dǎo)者可以用,領(lǐng)導(dǎo)者選擇那些命令用來復(fù)制,跟隨者只要有序的復(fù)制這些值就可以了

大部分系統(tǒng)使用多數(shù)人投票策略(This majority vote approach)來決定leader和消息提交確認,這樣的好處就可以選擇其中最快的機器作為新的leader.但是這種策略的壞處是,系統(tǒng)不能容忍多的故障。比如你要能容忍f個錯,你就必須有2f+1的復(fù)制才足夠,這樣對于大規(guī)模數(shù)據(jù)來說是不可行的,因為這樣你損失了太多吞吐量了,比如(paxos算法)

而kafak利用zookeeper動態(tài)地維護了一套in-syncreplica(ISR),只有ISR集里面的才可以被選為leader,所以容忍f個故障,只要有f+1個復(fù)制就可以了。雖然要容忍f個故障,

Majority vote 和 ISR都需要等同樣多的復(fù)制完成。

kafka另一個特性是允許有不完整數(shù)據(jù)的節(jié)點恢復(fù)

  • 耐用和高可用保證

Producer配置request.required.acks=-1,0,1

0

1表示只要in-sync里的replica都接受了,就認為提交成功

-1 表示要in-sync里的復(fù)制都完成寫了,才認為提交成功

  • 復(fù)制管理

以上復(fù)制講的是一個主題的一個分區(qū),而kafka管理者上千個這樣的分區(qū)。所以kafka平衡分區(qū)以避免集中一個大的topic的所有分區(qū)在幾個節(jié)點(broker)上,因此kafka將領(lǐng)導(dǎo)職權(quán)平衡到所有節(jié)點上,每個節(jié)點都是它所保存的分區(qū)的一部分的leader

當一個節(jié)點失敗,只會對受影響的分區(qū)進行選舉,我們選擇一個broker作為controller,controller負責偵測broker級別的錯誤,并負責受影響分區(qū)重新選擇leader

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

新聞名稱:kafka設(shè)計要點簡介-創(chuàng)新互聯(lián)
標題路徑:http://www.rwnh.cn/article4/csseie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、品牌網(wǎng)站設(shè)計、App設(shè)計、外貿(mào)建站、營銷型網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站

廣告

聲明:本網(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è)公司
饶平县| 梅河口市| 新河县| 大庆市| 象州县| 石泉县| 康平县| 库尔勒市| 海晏县| 增城市| 乐清市| 怀柔区| 崇文区| 枣强县| 郧西县| 伊宁市| 三亚市| 信宜市| 团风县| 东山县| 平潭县| 五家渠市| 密云县| 台南市| 东莞市| 珲春市| 启东市| 拉孜县| 枞阳县| 商南县| 昌乐县| 五河县| 松江区| 仙居县| 常德市| 葫芦岛市| 西宁市| 精河县| 庆安县| 青田县| 日喀则市|