日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Kafka的生成者、消费者、broker的基本概念

發布時間:2024/5/14 编程问答 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Kafka的生成者、消费者、broker的基本概念 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ? kafka是一款基于發布與訂閱的消息系統。它一般被稱為“分布式提交日志”或者“分布式流平臺”。文件系統或者數據庫提交日志用來提供所有事物的持久化記錄,通過重建這些日志可以重建系統的狀態。同樣地,kafka的數據是按照一定順序持久化保存的,可以按需讀取。

  • 1、kafka拓撲結構

  • 2、Kafka的特點

  • ? ?同時為分布和訂閱提供高吞吐量。據了解,Kafka每秒可以生產約25萬條消息(50MB),每秒處理55萬條消息(110MB)這里說條數,可能不上特別準確,因為消息的大小可能不一致;
  • ? ?可進行持久化操作,將消息持久化到到磁盤,以日志的形式存儲,因此可用于批量消費,例如ETL,以及實時應用程序。 通過將數據持久化到硬盤以及replication防止數據丟失。
  • ? 分布式系統,易于向外拓展。所有的Producer、broker和consumer都會有多個,均為分布式。無需停機即可拓展機器。
  • ? 消息被處理的狀態是在consumer端維護,而不是由server端維護,當失敗時能自動平衡。
  • ? 支持Online和offline的場景。
    • 3、Kafka的核心概念

    名詞解釋
    Producer消息的生成者
    Consumer消息的消費者
    ConsumerGroup消費者組,可以并行消費Topic中的partition的消息
    Broker緩存代理,Kafka集群中的一臺或多臺服務器統稱broker.
    TopicKafka處理資源的消息源(feeds of messages)的不同分類
    PartitionTopic物理上的分組,一個topic可以分為多個partion,每個partion是一個有序的隊列。partion中每條消息都會被分? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 配一個 有序的Id(offset)
    Message消息,是通信的基本單位,每個producer可以向一個topic(主題)發布一些消息
    Producers消息和數據生成者,向Kafka的一個topic發布消息的?過程叫做producers
    Consumers消息和數據的消費者,訂閱topic并處理其發布的消費過程叫做consumers
    • ? 3.1 Producers的概念

  • ?消息和數據生成者,向Kafka的一個topic發布消息的過程叫做producers ?
  • ?Producer將消息發布到指定的Topic中,同時Producer也能決定將此消息歸屬于哪個partition;比如基于round-robin方式? ? ? ? ?或者通過其他的一些算法等;
  • 異步發送批量發送可以很有效的提高發送效率。kafka producer的異步發送模式允許進行批量發送,先將消息緩存到內存中,然后一次請求批量發送出去。
    • ? ?3.2? broker的概念:

  • ?Broker沒有副本機制,一旦broker宕機,該broker的消息將都不可用。
  • ?Broker不保存訂閱者的狀態,由訂閱者自己保存。
  • ?無狀態導致消息的刪除成為難題(可能刪除的消息正在被訂閱),Kafka采用基于時間的SLA(服務保證),消息保存一定時間(通常7天)后會刪除。
  • ?消費訂閱者可以rewind back到任意位置重新進行消費,當訂閱者故障時,可以選擇最小的offset(id)進行重新讀取消費消息
    • ? ? 3.3 Message組成

  • ?Message消息:是通信的基本單位,每個producer可以向一個topic發布消息。
  • ?Kafka中的Message是以topic為基本單位組織的,不同的topic之間是相互獨立的,每個topic又可以分成不同的partition每個partition儲存一部分
  • ?partion中的每條Message包含以下三個屬性:
  • offset ? ?long
    MessageSize ?int32
    data ? ? ? ?messages的具體內容
    • ? ? 3.4? Consumers的概念

    ? ? ??消息和數據消費者,訂閱topic并處理其發布的消息的過程叫做consumers.
    ? ? ? 在kafka中,我們可以認為一個group是一個“訂閱者”,一個topic中的每個partions只會被一個“訂閱者”中的一個consumer
    ? ? ? 消費,不過一個consumer可以消費多個partitions中的消息
    ? ? ? 注:
    ? ? ? ?Kafka的設計原理決定,對于一個topic,同一個group不能多于partition個數的consumer同時消費,否則將意味著某些? ? ? ? ? ? ? ? ? ? ? consumer無法得到消息

    ?

    總結

    以上是生活随笔為你收集整理的Kafka的生成者、消费者、broker的基本概念的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。