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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

kafka消息队列-笔记

發布時間:2023/12/31 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 kafka消息队列-笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1? 什么是消息

????????在應用系統之間,傳遞的數據,叫做消息;

2? 常見消息隊列

  • 標準的消息隊列實現:

????????主要基于pub/sub publish 、subscribe發布與訂閱模型

????????RabbitMQ:rabbit message queue

????????ActiveMQ:支持消息隊列當中事務處理

????????RocketMQ:阿里開源的消息隊列rocket

  • 非標準的消息隊列的實現

????????消息隊列模型:主要是基于push、poll 推送與拉取

????????kafka不是標準的消息隊列的實現

????????kafka:吞吐量非常高,而且消息處理速度非常快

3? 消息隊列的應用場景

????????應用解耦:應用系統之間需要解耦合比較好

????????異步并行處理

????????限流削峰

????????消息驅動的系統:如12306

4? 消息系統的兩種模式

????????點對點:兩個人之間互相通信,都是點對點這種模型

????????發布與訂閱:群聊

5? 關于kafka

????????使用scala語言編寫,kafka是一個分布式、分區的,多副本的,多訂閱者的消息隊列系統,

分布式是由多個節點組成,一個節點就是一個服務器在kafka當中節點叫做broker,一個節點就是一個broker,一個broker就是一個服務器,磁盤順序讀寫

5.1? kafka應用場景:

????????流式處理:實時處理,數據從出現到產生,在一秒鐘以內能夠處理完成

????????流式計算:程序一旦啟動,就會一直運行下去,一旦有數據,就能夠馬上被處理掉

????????生產者生產數據到kafka里面去,然后通過一些實時處理的框架例如storm或sparkstreaming或者flink等等實時處理的框架去處理kafka里面的數據

5.2? kafka的基本架構

  • 生產者:producer主要負責生產數據到topic里面去
  • topic:虛擬的概念,某一類消息的主題,某一類消息都是存放在某一個topic當中
  • 一個topic有多個partition:一個partition里面有多個segment段,每個segment默認1GB
  • 一個segment:一個.index文件 + 一個.log文件
  • .log:存放用戶真實的產生的數據
  • .index:存放的是.log文件的索引數據
  • 消費者:consumer,主要就是消費topic里面的數據
  • consumer消費到哪一條數據需要進行記錄:offset來進行記錄,數據的偏移量,每條數據都有唯一的
  • kafka當中數據消費的時候,消費者都需要指定屬于哪一個消費組。任意時刻,一個分區里面的數據,只能被一個消費組里面的一個線程進行消費,如果調大分區的個數,可以增加分區數據的并行消費的粒度

  • partition的個數與線程的個數:

    partition個數=線程的個數,剛剛好,一個線程消費一個分區;

    partition個數>線程的個數,有線程需要去消費多個分區里面的數據

    partition<線程的個數,有線程閑置

5.3? kafka與zookeeper的關系

????????kafka需要依賴zk保存一些節點信息,kafka緊耦合zookeeper

5.4??kafka當中的數據消費出現延遲

????????加大消費者線程數量,加大分區的個數

5.5??kafka當中副本的策略

????????使用isr這種策略來維護一個副本列表

????????is synchronize replication:同步完成的副本列表

????????主分區:可以有多個副本,為了最大程度的同步完成數據,使用多個副本,每個副本都啟動線程去復制主分區的數據,盡量保證副本當中的數據與主分區當中的數據一致

????????如果副本分區當中的數據與主分區當中的數據差別太大,將副本分區移除ISR列表;

????????如果副本分區的心跳時間比較久遠,也會將副本分區移除ISR列表。

總結

以上是生活随笔為你收集整理的kafka消息队列-笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

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