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

kafka分析與單機使用記錄是怎樣的

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)kafka分析與單機使用記錄是怎樣的,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都創(chuàng)新互聯(lián)公司是專業(yè)的萊州網(wǎng)站建設(shè)公司,萊州接單;提供成都網(wǎng)站建設(shè)、成都做網(wǎng)站,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行萊州網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

1.使用的系統(tǒng)環(huán)境

root@heidsoft:~# uname -a

Linux heidsoft 4.4.0-63-generic #84-Ubuntu SMP Wed Feb 1 17:20:32 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

2.JDK環(huán)境

root@heidsoft:~# java -version

java version "1.8.0_131"

Java(TM) SE Runtime Environment (build 1.8.0_131-b11)

Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

3.軟件版本環(huán)境

kafka分析與單機使用記錄是怎樣的

4.配置文件環(huán)境

kafka : server.properties 默認配置

zookeeper : zoo.cfg  默認配置

5.啟動應(yīng)用

zookeeper: sh zkServer.sh start

kafka: bin/kafka-server-start.sh config/server.properties &

6.kafka 測試

生產(chǎn)者測試--發(fā)送消息

echo "Hello, World" | bin/kafka-console-producer.sh --broker-list localhost:9092 --topic TutorialTopic > /dev/null

消費者測試--接收消息

bin/kafka-console-consumer.sh --new-consumer --topic TutorialTopic --from-beginning  --bootstrap-server localhost:9092

7.ShowDemo

kafka分析與單機使用記錄是怎樣的

kafka分析與單機使用記錄是怎樣的

8.概念認識

  • Broker
    Kafka集群包含一個或多個服務(wù)器,這種服務(wù)器被稱為broker

  • Topic
    每條發(fā)布到Kafka集群的消息都有一個類別,這個類別被稱為Topic。(物理上不同Topic的消息分開存儲,邏輯上一個Topic的消息雖然保存于一個或多個broker上但用戶只需指定消息的Topic即可生產(chǎn)或消費數(shù)據(jù)而不必關(guān)心數(shù)據(jù)存于何處)

  • Partition
    Parition是物理上的概念,每個Topic包含一個或多個Partition.

  • Producer
    負責(zé)發(fā)布消息到Kafka broker

  • Consumer
    消息消費者,向Kafka broker讀取消息的客戶端。

  • Consumer Group
    每個Consumer屬于一個特定的Consumer Group(可為每個Consumer指定group name,若不指定group name則屬于默認的group)。

9.框架認識

Kafka是分布式發(fā)布-訂閱消息系統(tǒng)。它最初由LinkedIn公司開發(fā),之后成為Apache項目的一部分。Kafka是一個分布式的,可劃分的,冗余備份的持久性的日志服務(wù)。它主要用于處理活躍的流式數(shù)據(jù)。

在大數(shù)據(jù)系統(tǒng)中,常常會碰到一個問題,整個大數(shù)據(jù)是由各個子系統(tǒng)組成,數(shù)據(jù)需要在各個子系統(tǒng)中高性能,低延遲的不停流轉(zhuǎn)。傳統(tǒng)的企業(yè)消息系統(tǒng)并不是非常適合大規(guī)模的數(shù)據(jù)處理。為了已在同時搞定在線應(yīng)用(消息)和離線應(yīng)用(數(shù)據(jù)文件,日志)Kafka就出現(xiàn)了。Kafka可以起到兩個作用:

  1. 降低系統(tǒng)組網(wǎng)復(fù)雜度。

  2. 降低編程復(fù)雜度,各個子系統(tǒng)不在是相互協(xié)商接口,各個子系統(tǒng)類似插口插在插座上,Kafka承擔(dān)高速數(shù)據(jù)總線的作用。

10.框架特點

  1. 同時為發(fā)布和訂閱提供高吞吐量。據(jù)了解,Kafka每秒可以生產(chǎn)約25萬消息(50 MB),每秒處理55萬消息(110 MB)。

  2. 可進行持久化操作。將消息持久化到磁盤,因此可用于批量消費,例如ETL,以及實時應(yīng)用程序。通過將數(shù)據(jù)持久化到硬盤以及replication防止數(shù)據(jù)丟失。

  3. 分布式系統(tǒng),易于向外擴展。所有的producer、broker和consumer都會有多個,均為分布式的。無需停機即可擴展機器。

  4. 消息被處理的狀態(tài)是在consumer端維護,而不是由server端維護。當(dāng)失敗時能自動平衡。

  5. 支持online和offline的場景。

12.Kafka拓撲結(jié)構(gòu)

kafka分析與單機使用記錄是怎樣的
如上圖所示,一個典型的Kafka集群中包含若干Producer(可以是web前端產(chǎn)生的Page View,或者是服務(wù)器日志,系統(tǒng)CPU、Memory等),若干broker(Kafka支持水平擴展,一般broker數(shù)量越多,集群吞吐率越高),若干Consumer Group,以及一個Zookeeper集群。Kafka通過Zookeeper管理集群配置,選舉leader,以及在Consumer Group發(fā)生變化時進行rebalance。Producer使用push模式將消息發(fā)布到broker,Consumer使用pull模式從broker訂閱并消費消息。  

13.Kafka的設(shè)計

1、吞吐量

高吞吐是kafka需要實現(xiàn)的核心目標(biāo)之一,為此kafka做了以下一些設(shè)計:

  1. 數(shù)據(jù)磁盤持久化:消息不在內(nèi)存中cache,直接寫入到磁盤,充分利用磁盤的順序讀寫性能

  2. zero-copy:減少IO操作步驟

  3. 數(shù)據(jù)批量發(fā)送

  4. 數(shù)據(jù)壓縮

  5. Topic劃分為多個partition,提高parallelism

負載均衡

  1. producer根據(jù)用戶指定的算法,將消息發(fā)送到指定的partition

  2. 存在多個partiiton,每個partition有自己的replica,每個replica分布在不同的Broker節(jié)點上

  3. 多個partition需要選取出lead partition,lead partition負責(zé)讀寫,并由zookeeper負責(zé)fail over

  4. 通過zookeeper管理broker與consumer的動態(tài)加入與離開

拉取系統(tǒng)

由于kafka broker會持久化數(shù)據(jù),broker沒有內(nèi)存壓力,因此,consumer非常適合采取pull的方式消費數(shù)據(jù),具有以下幾點好處:

  1. 簡化kafka設(shè)計

  2. consumer根據(jù)消費能力自主控制消息拉取速度

  3. consumer根據(jù)自身情況自主選擇消費模式,例如批量,重復(fù)消費,從尾端開始消費等

可擴展性

當(dāng)需要增加broker結(jié)點時,新增的broker會向zookeeper注冊,而producer及consumer會根據(jù)注冊在zookeeper上的watcher感知這些變化,并及時作出調(diào)整。

Kafka的應(yīng)用場景

1.消息隊列

比起大多數(shù)的消息系統(tǒng)來說,Kafka有更好的吞吐量,內(nèi)置的分區(qū),冗余及容錯性,這讓Kafka成為了一個很好的大規(guī)模消息處理應(yīng)用的解決方案。消息系統(tǒng)一般吞吐量相對較低,但是需要更小的端到端延時,并嘗嘗依賴于Kafka提供的強大的持久性保障。在這個領(lǐng)域,Kafka足以媲美傳統(tǒng)消息系統(tǒng),如ActiveMR或RabbitMQ。

2.行為跟蹤

Kafka的另一個應(yīng)用場景是跟蹤用戶瀏覽頁面、搜索及其他行為,以發(fā)布-訂閱的模式實時記錄到對應(yīng)的topic里。那么這些結(jié)果被訂閱者拿到后,就可以做進一步的實時處理,或?qū)崟r監(jiān)控,或放到Hadoop/離線數(shù)據(jù)倉庫里處理。

3.元信息監(jiān)控

作為操作記錄的監(jiān)控模塊來使用,即匯集記錄一些操作信息,可以理解為運維性質(zhì)的數(shù)據(jù)監(jiān)控吧。

4.日志收集

日志收集方面,其實開源產(chǎn)品有很多,包括Scribe、Apache Flume。很多人使用Kafka代替日志聚合(log aggregation)。日志聚合一般來說是從服務(wù)器上收集日志文件,然后放到一個集中的位置(文件服務(wù)器或HDFS)進行處理。然而Kafka忽略掉文件的細節(jié),將其更清晰地抽象成一個個日志或事件的消息流。這就讓Kafka處理過程延遲更低,更容易支持多數(shù)據(jù)源和分布式數(shù)據(jù)處理。比起以日志為中心的系統(tǒng)比如Scribe或者Flume來說,Kafka提供同樣高效的性能和因為復(fù)制導(dǎo)致的更高的耐用性保證,以及更低的端到端延遲。

5.流處理

這個場景可能比較多,也很好理解。保存收集流數(shù)據(jù),以提供之后對接的Storm或其他流式計算框架進行處理。很多用戶會將那些從原始topic來的數(shù)據(jù)進行階段性處理,匯總,擴充或者以其他的方式轉(zhuǎn)換到新的topic下再繼續(xù)后面的處理。例如一個文章推薦的處理流程,可能是先從RSS數(shù)據(jù)源中抓取文章的內(nèi)容,然后將其丟入一個叫做“文章”的topic中;后續(xù)操作可能是需要對這個內(nèi)容進行清理,比如回復(fù)正常數(shù)據(jù)或者刪除重復(fù)數(shù)據(jù),最后再將內(nèi)容匹配的結(jié)果返還給用戶。這就在一個獨立的topic之外,產(chǎn)生了一系列的實時數(shù)據(jù)處理的流程。Strom和Samza是非常著名的實現(xiàn)這種類型數(shù)據(jù)轉(zhuǎn)換的框架。

6.事件源

事件源是一種應(yīng)用程序設(shè)計的方式,該方式的狀態(tài)轉(zhuǎn)移被記錄為按時間順序排序的記錄序列。Kafka可以存儲大量的日志數(shù)據(jù),這使得它成為一個對這種方式的應(yīng)用來說絕佳的后臺。比如動態(tài)匯總(News feed)。

7.持久性日志(commit log)

Kafka可以為一種外部的持久性日志的分布式系統(tǒng)提供服務(wù)。這種日志可以在節(jié)點間備份數(shù)據(jù),并為故障節(jié)點數(shù)據(jù)回復(fù)提供一種重新同步的機制。Kafka中日志壓縮功能為這種用法提供了條件。在這種用法中,Kafka類似于Apache BookKeeper項目。

上述就是小編為大家分享的kafka分析與單機使用記錄是怎樣的了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當(dāng)前題目:kafka分析與單機使用記錄是怎樣的
文章源于:http://chinadenli.net/article36/jigdpg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃App開發(fā)網(wǎng)站建設(shè)App設(shè)計建站公司營銷型網(wǎng)站建設(shè)

廣告

聲明:本網(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è)網(wǎng)站維護公司