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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

kafka topic制定规则

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

kafka topic的制定,我們要考慮的問題有很多,比如生產環境中用幾備份、partition數目多少合適、用幾臺機器支撐數據量,這些方面如何去考量?筆者根據實際的維護經驗,寫一些思考,希望大家指正。

1.replicas數目

 

?

  可以從上圖看到,備份越多,性能越低,因為kafka的寫入只寫入主分區,備份相當于消費者從主分區pull數據,這樣勢必會造成性能的損耗,故建議在生產環境中使用一主一備即可。

2. partition數量

  (1)設置partition數量的時候我們需要注意:kafka的partition可以在創建時候指定,也可以alter(kafka-topic.sh里面的參數),但是,這個修改只能增加partition數目,并不能減少。這帶來的直接影響就是我們在設置按照日志數量回滾數據的時候(即:設置log.retention.bytes控制日志清除),需要考慮大小,因為log.retention.bytes設置的是partition的日志大小。

  (2)partition的數目并不是越多越好,以下是筆者所做的性能測試。

    //todo

    可以看到,當partition數目是broker數目的整數倍的時候,它的TPS較高,非整數倍的時候,由于數據不均衡,所以TPS會有不同程度的影響。

3.消費速度

  消費速度需要進行性能測試做相應評估,消費者/生產者加機器,都可以帶來性能的線性增加。

  

?

? ? ? ? ?

?

4.制定規則

? ?綜上考慮,筆者在生產環境中的實踐規則如下:

  • Partition數量=broker數量*2[這個作為預先設置,設置小一點,如果線上機器不夠,增加機器的話,同時topic也會增加2,增量不要設置太大]
  • partition數量需要大于consumer數量
  • partition數量過多會給consumer帶來額外的開銷,建議consumer線程數(消費者個數)設置為partition數目,或略小于即可。
  • broker數量 =目標吞吐量/max(producer吞吐量,consumer吞吐量)

5.reference

如何確定Kafka的分區數、key和consumer線程數

kafka benchmark

kafka深度解析

How to choose the number of topics/partitions in a Kafka cluster?

關注我的技術公眾號,第一時間獲取新鮮技術文章:

轉載于:https://www.cnblogs.com/acceml/p/5655081.html

總結

以上是生活随笔為你收集整理的kafka topic制定规则的全部內容,希望文章能夠幫你解決所遇到的問題。

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