真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

kafka基本原理重要概念優(yōu)缺點

2019/2/21 星期四

kafka基本原理重要概念優(yōu)缺點

官方網(wǎng)址:https://kafka.apache.org/
×××:http://archive.apache.org/dist/kafka/

成都創(chuàng)新互聯(lián)是一家專業(yè)提供豐鎮(zhèn)企業(yè)網(wǎng)站建設,專注與網(wǎng)站設計、網(wǎng)站建設、HTML5建站、小程序制作等業(yè)務。10年已為豐鎮(zhèn)眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設公司優(yōu)惠進行中。

創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)網(wǎng)站建設與網(wǎng)站營銷,提供網(wǎng)站建設、成都網(wǎng)站建設、網(wǎng)站開發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營銷、微信小程序定制開發(fā)、公眾號商城、等建站開發(fā),創(chuàng)新互聯(lián)網(wǎng)站建設策劃專家,為不同類型的客戶提供良好的互聯(lián)網(wǎng)應用定制解決方案,幫助客戶在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢。

  1. kafka簡介
    Kafka 是一個分布式的消息緩存系統(tǒng),用于日志處理的分布式消息隊列。日志數(shù)據(jù)容量大,但對可靠性要求不高,其日志數(shù)據(jù)主要包括用戶行為(登錄、瀏覽、點擊、分享、喜歡)以及系統(tǒng)運行日志(CPU、內(nèi)存、磁盤、網(wǎng)絡、系統(tǒng)及進程狀態(tài))。當前很多的消息隊列服務提供可靠交付保證,并默認是即時消費(不適合離線)。高可靠交付對日志不是必須的,故可通過降低可靠性來提高性能,同時通過構建分布式的集群,允許消息在系統(tǒng)中累積,使得kafka 同時支持離線和在線日志處理。Kafka的設計理念之一就是同時提供離線處理和實時處理。根據(jù)這一特性,可以使用Storm這種實時流處理系統(tǒng)對消息進行實時在線處理,同時使用Hadoop這種批處理系統(tǒng)進行離線處理,還可以同時將數(shù)據(jù)實時備份到另一個數(shù)據(jù)中心,只需要保證這三個操作所使用的Consumer屬于不同的Consumer Group即可。

  2. kafka架構

kafka基本原理重要概念優(yōu)缺點

1、kafka 集群中的服務器都叫做broker
2、kafka 有兩類客戶端,一類叫producer(消息生產(chǎn)者),一類叫做consumer(消息消費者),客戶端和broker 服務器之間采用tcp 協(xié)議連接
3、kafka 中不同業(yè)務系統(tǒng)的消息可以通過topic 進行區(qū)分,而且每一個消息topic 都會被分區(qū),以分擔消息讀寫的負載
4、每一個分區(qū)都可以有多個副本,以防止數(shù)據(jù)的丟失
5、某一個分區(qū)中的數(shù)據(jù)如果需要更新,都必須通過該分區(qū)所有副本中的leader 來更新
6、消費者可以分組(Consumer Group),比如有兩個消費者組A 和B,共同消費一個topic:order_info,A 和B所消費的消息不會重復
比如order_info 中有100 個消息,每個消息有一個id,編號從0-99,那么,如果A組消費0-49 號,B 組就消費50-99 號
//生產(chǎn)環(huán)境中也可以讓多個consumer共同消費同一個topic中的數(shù)據(jù),需要設置調(diào)整 //代碼段可以實現(xiàn)
7、消費者在具體消費某個topic 中的消息時,可以指定起始偏移量

Kafka系列視頻教程之Kafka核心基礎 -博彬
  1. 為什么使用kafka
    1、作為緩存
    2、解(系統(tǒng))耦合
    3、時間小于10ms 基本上是一種實時的

    他能簡化,我們系統(tǒng)的設計,提示公司的開發(fā)速度,和效率

  2. 為何使用消息系統(tǒng)
    解耦
    在項目啟動之初來預測將來項目會碰到什么需求,是極其困難的。消息系統(tǒng)在處理過程中間插入了一個隱含的、基于數(shù)據(jù)的接口層,兩邊的處理過程都要實現(xiàn)這一接口。這允許你獨立的擴展或修改兩邊的處理過程,只要確保它們遵守同樣的接口約束。

冗余
有些情況下,處理數(shù)據(jù)的過程會失敗。除非數(shù)據(jù)被持久化,否則將造成丟失。消息隊列把數(shù)據(jù)進行持久化直到它們已經(jīng)被完全處理,通過這一方式規(guī)避了數(shù)據(jù)丟失風險。許多消息隊列所采用的"插入-獲取-刪除"范式中,在把一個消息從隊列中刪除之前,需要你的處理系統(tǒng)明確的指出該消息已經(jīng)被處理完畢,從而確保你的數(shù)據(jù)被安全的保存直到你使用完畢。

擴展性
因為消息隊列解耦了你的處理過程,所以增大消息入隊和處理的頻率是很容易的,只要另外增加處理過程即可。不需要改變代碼、不需要調(diào)節(jié)參數(shù)。擴展就像調(diào)大電力按鈕一樣簡單。

靈活性 & 峰值處理能力
在訪問量劇增的情況下,應用仍然需要繼續(xù)發(fā)揮作用,但是這樣的突發(fā)流量并不常見;如果為以能處理這類峰值訪問為標準來投入資源隨時待命無疑是巨大的浪費。使用消息隊列能夠使關鍵組件頂住突發(fā)的訪問壓力,而不會因為突發(fā)的超負荷的請求而完全崩潰。

可恢復性
系統(tǒng)的一部分組件失效時,不會影響到整個系統(tǒng)。消息隊列降低了進程間的耦合度,所以即使一個處理消息的進程掛掉,加入隊列中的消息仍然可以在系統(tǒng)恢復后被處理。

順序保證
在大多使用場景下,數(shù)據(jù)處理的順序都很重要。大部分消息隊列本來就是排序的,并且能保證數(shù)據(jù)會按照特定的順序來處理。Kafka保證一個Partition內(nèi)的消息的有序性。

緩沖
在任何重要的系統(tǒng)中,都會有需要不同的處理時間的元素。例如,加載一張圖片比應用過濾器花費更少的時間。消息隊列通過一個緩沖層來幫助任務最高效率的執(zhí)行———寫入隊列的處理會盡可能的快速。該緩沖有助于控制和優(yōu)化數(shù)據(jù)流經(jīng)過系統(tǒng)的速度。

異步通信
很多時候,用戶不想也不需要立即處理消息。消息隊列提供了異步處理機制,允許用戶把一個消息放入隊列,但并不立即處理它。想向隊列中放入多少消息就放多少,然后在需要的時候再去處理它們。

  1. kafka重要概念
    介紹kafka的幾個重要概念
    Broker:消息中間件處理結點,一個Kafka的server節(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。

  2. 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的優(yōu)點:
消息隊列kafka特性 https://blog.csdn.net/qq_36236890/article/details/81174504
1、單機吞吐量:
10萬級別,這是kafka最大的優(yōu)勢,就是他的吞吐量高,一般配合大數(shù)據(jù)類的系統(tǒng)來進行實施數(shù)據(jù)計算,日志采集等場景
2、topic數(shù)據(jù)對吞吐量的影響:
topic從幾十個到上百個不等,但是topic越多,會很大程度的影響吞吐量,所以在同等機器下,kafka經(jīng)量保證topic數(shù)量不要過度。如果要支撐大規(guī)模的topic的話,需要增加更多的集群資源。
3、時效性:
延遲控制在ms以內(nèi)
4、可用性:
非常高,kafka是分布是的,一個數(shù)據(jù)多個副本,少數(shù)機器的宕機,不會丟數(shù)據(jù),不會導致不可用
5、消息可靠性
經(jīng)過參數(shù)優(yōu)化配置,消息可以做到0丟失
6、功能支持
功能較為簡單,主要支持簡單的MQ功能,在大數(shù)據(jù)領域的實時計算以及日志采集被大規(guī)模使用,是事實上的標準
7、優(yōu)劣勢總結
kafka的特點其實很明顯,就是僅僅提供較少的核心功能,但是提供較高的吞吐量,ms級別的延遲,較高的可用性以及可靠性,而且是分布式的,可以任意的擴展,同時kafka也是做好的是支撐少量的topic數(shù)量即可,保證其吞吐量,而且kafka唯一的一點劣勢就是可能出現(xiàn)就消息的重復消費,那么對數(shù)據(jù)準確性會產(chǎn)生影響,在大數(shù)據(jù)領域中以及日志收集中,這點輕微可以忽略。
kafka的特性就是天然適合大數(shù)據(jù)實時計算以及日志的收集。

Kafka天生就是一個分布式的消息隊列,它可以由多個broker組成,每個broker是一個節(jié)點;你創(chuàng)建一個topic,這個topic可以劃分為多個partition,每個partition可以存在于不同的broker上,每個partition就放一部分數(shù)據(jù)。


新聞名稱:kafka基本原理重要概念優(yōu)缺點
轉(zhuǎn)載來于:http://weahome.cn/article/iijpdo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部