中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

kafka基本原理重要概念優缺點

發布時間:2020-04-09 16:09:16 來源:網絡 閱讀:2996 作者:馬吉輝 欄目:大數據

2019/2/21 星期四

kafka基本原理重要概念優缺點

官方網址:https://kafka.apache.org/
×××:http://archive.apache.org/dist/kafka/

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

  2. kafka架構

kafka基本原理重要概念優缺點

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

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

    他能簡化,我們系統的設計,提示公司的開發速度,和效率

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

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

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

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

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

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

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

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

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

  2. topic:創建topic名稱
    partition:分區編號
    offset:表示該partition已經消費了多少message
    logsize:表示該paritition生產了多少的message
    lag:表示有多少條message未被消費
    owner:表示消費者
    create:表示該partition創建時間
    last seen:表示消費狀態刷新最新時間

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

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

资阳市| 涿鹿县| 哈巴河县| 延边| 贡觉县| 南平市| 西乌珠穆沁旗| 孝义市| 青铜峡市| 信阳市| 宁强县| 新乡县| 锡林浩特市| 曲松县| 应用必备| 阜阳市| 五家渠市| 绥芬河市| 临湘市| 合川市| 乐山市| 清镇市| 博客| 阿巴嘎旗| 上虞市| 弥勒县| 凤凰县| 西充县| 泉州市| 青海省| 南乐县| 尚义县| 吉安县| 北辰区| 闽侯县| 河北区| 崇仁县| 喜德县| 搜索| 昔阳县| 施秉县|