推荐一款非常好用的kafka管理平台,kafka的灵魂伴侣

滴滴开源Logi-KafkaManager 一站式Kafka监控与管控平台


技术交流

有想进滴滴LogI开源用户群的加我个人微信: jjdlmn_ 进群(备注:进群)
群里面主要交流 kakfaesagentLogI-kafka-manager、等等相关技术;
群内有专人解答你的问题
对~ 相关技术领域的解答人员都有; 你问的问题都会得到回应

有想进 滴滴LogI开源用户群 的加我个人微信: jjdlmn_ 进群(备注:进群)
群里面主要交流 kakfa、es、agent、以及其他技术
群内有专人解答疑问,你所问的都能得到回应


文章目录

  • 技术交流
  • 申请配额(限流)
    • 针对Topic粒度的配额如何生效的
    • 测试kafka限流是否成功
  • 专栏文章列表

项目地址: didi/Logi-KafkaManager: 一站式Apache Kafka集群指标监控与运维管控平台

本文主要是讲解 针对Topic生产/消费 的限流配置; 如果不需要设置限流 则可忽略;

申请配额(限流)

不了解kafak配额管理机制的可以先了解一下 kafka中的配额管理(限速)机制

默认创建完Topic之后是没有设置配额信息的,而且我们都知道Kafka的配额(限流)只支持三种粒度:

user + clientid
user
clientid
如果kafka集群没有开启身份认证,则只能使用clientid方式来进行限流。

但是KaFkaManager是可以支持到Topic粒度的; 假如你对kafka配额机制原理非常清楚的话,那么你就很容易理解KM是怎么实现的了: 一言以蔽之, clientid+topic组成一个单独的clientId

当你需要对Topic限流的时候 就需要做如下操作了;

  1. 研发/运维 选中Topic点击申请配额

  2. 运维人员 审核 申请配额的申请

  3. 审核通过, 限流信息已经写入到Zookeeper中;

针对Topic粒度的配额如何生效的

我们来简单看看KafakaManager申请配额的代码

从代码中我们可以看到, 我们写入到 zk中的配额clients节点路径是 apppId.TopicName; 想要让配额生效, 那么我们在生产和消费Topic的时候, clientId 需要设置为apppId.TopicName的格式; 一个topic单独分配一个clientId; 这样看起来想要使用这个功能是不是还挺麻烦;但是滴滴的 kafka-gateway 帮我们实现了这个功能;

kafka-gateway: 这个是滴滴内部针对社区版kafka做了一些扩展,增强; 比如这个功能,kafka-gateway就帮我们自动解决了,不需要那么麻烦

当然我们也可以不用kafka-gateway,在每个Topic生产/消费那里根据上门的规则单独设置clientId

测试kafka限流是否成功

我们将Topic Test2的生产限流设置为0.000001

然后写一段发送消息的代码, 设置client.id = apppId.TopicName的格式; 然后不停的发送

 @Testvoid contextLoads() {Properties props = new Properties();props.put("bootstrap.servers", "xxxxx");props.put("acks", "all");props.put("retries", 0);props.put("batch.size", 16384);props.put("linger.ms", 1);props.put("buffer.memory", 33554432);props.put("client.id", "appId_000001_cn.Test2");props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");Producer<String, String> producer = new KafkaProducer<>(props);for(int i = 0; i < 50000000; i++){producer.send(new ProducerRecord<String, String>("Test2", Integer.toString(i), Integer.toString(i)));}producer.close();}

检查是否发生限流

然后发现生产消息就被限流了;

这里的申请配额通过之后,实际上是去zk上更新了配置输入; 比如我申请配额为1M/s = 1024*1024=1048576kb

可以看到zk上的配置更新了

kafka-gatway 是滴滴内部未开源的kafka引擎,目前看来没有开源的打算,现在是作为企业服务,大概了解了下 新增的功能还是挺多的,配合Logi-KafkaManager使用效果比较好

专栏文章列表

Kafka的灵魂伴侣Logi-KafkaManger(1)之集群的接入及相关概念讲解

Kafka的灵魂伴侣Logi-KafkaManger(2)之kafka针对Topic粒度的配额管理(限流)

Kafka的灵魂伴侣Logi-KafkaManger(3)之运维管控–集群列表

Kafka的灵魂伴侣Logi-KafkaManger(4)之运维管控–集群运维(任务迁移和集群在线升级)


欢迎 Star和 共建由 滴滴开源的kafka的管理平台,非常优秀非常好用的一款kafka管理平台
满足所有开发运维日常需求

滴滴开源Logi-KafkaManager 一站式Kafka监控与管控平台

欢迎加个人微信拉你进开发技术交流群,群内专人解答技术疑问
(请备注:技术) wx: jjdlmn_ 或 wx: mike_zhangliang

Kafka的灵魂伴侣Logi-KafkaManger(2)之kafka针对Topic粒度的配额管理(限流)相关推荐

  1. Kafka的灵魂伴侣Logi-KafkaManger(4)之运维管控–集群运维(数据迁移和集群在线升级)

    推荐一款非常好用的kafka管理平台,kafka的灵魂伴侣 滴滴开源Logi-KafkaManager 一站式Kafka监控与管控平台 技术交流 有想进滴滴LogI开源用户群的加我个人微信: jjdl ...

  2. Kafka的灵魂伴侣Logi-KafkaManger(5)之运维管控–平台管理(用户管理和平台配置)

    推荐一款非常好用的kafka管理平台,kafka的灵魂伴侣 滴滴开源Logi-KafkaManager 一站式Kafka监控与管控平台 技术交流 有想进滴滴LogI开源用户群的加我个人微信: jjdl ...

  3. Kafka的灵魂伴侣Logi-KafkaManger(3)之运维管控--集群列表

    推荐一款非常好用的kafka管理平台,kafka的灵魂伴侣 滴滴开源Logi-KafkaManager 一站式Kafka监控与管控平台 技术交流 有想进滴滴LogI开源用户群的加我个人微信: jjdl ...

  4. 中getname_Spring IOC中的灵魂伴侣:BeanFactory ApplicationContext

    推荐阅读: 手撕分布式技术:限流.通讯.缓存,全部一锅端走送给你 秋招面试总结:Java+并发+Spring+MySQL+分布式+Redis+算法+JVM等 Spring全家桶笔记:Spring+Sp ...

  5. 数学家破解婚恋网站配对程序,90天找到灵魂伴侣

    找个合适或者善良的另一半比什么都强,谁说搞技术的情商低?他们可以靠高超的技能来弥补,照样能找到优秀的灵魂伴侣! 凌晨三点,在加州大学洛杉矶分校(UCLA)数学系大楼五楼的一个拥挤小隔间里,只有一只灯泡 ...

  6. 好想找一个灵魂伴侣,然后带着他一起周游世界,会实现吗?

    1.很遗憾,这个世界上没有所谓高度契合的灵魂伴侣. 2.人谈恋爱,特别是初恋的时候,都是灵魂伴侣,但想一辈子都是,不现实. 3.小时候看琼瑶剧,那里的男女都是灵魂伴侣,永远不愁吃穿,没有凡人的苦恼.但 ...

  7. 精通Web Analytics 2.0 (4) 第二章:选择你的网络分析灵魂伴侣的最佳策略

    精通Web Analytics 2.0 (4) 第二章:选择你的网络分析灵魂伴侣的最佳策略 精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第二章:选择你的网络分析灵魂伴侣的最 ...

  8. 期待“灵魂伴侣”会让婚姻受挫?

    在我接手的很多单身案例中,女生都提出希望寻找一个"灵魂伴侣".我也一直在思考,什么叫作灵魂伴侣-- 这篇文章从另一个角度提醒了人们,真实生活更可能出现的样子. 徐志摩说:" ...

  9. 如何分辨高情商的人对自己是向下兼容还是灵魂伴侣?

    首先说个数字:就全世界总体统计来说,这种情况1%的可能性是灵魂伴侣,99%都是向下兼容.有一点可以很好的分辨,就是在你们"深入灵魂的交谈"结束分开后下一次再见面时他/她见到你后的第 ...

最新文章

  1. android String.format
  2. lj245a引脚功能图_如何快速读懂时序图?
  3. mysql面试关联查询语句_MySQL百万级、千万级数据多表关联SQL语句调优
  4. IT 巡检内容、工具、方法 amp; Linux / AIX / Oracle / VMware 巡检表模板 | 周末送资料...
  5. SAP CRM HANA report里 默认filter 的工作机制分析
  6. application/x-www-form-urlencoded接口响应报文中文乱码
  7. Mysql 的优化方式,都给你整理好了(附思维导图)
  8. A. Holidays
  9. Eclipse·Maven·构建SpringMVC简单工程-2
  10. 手机误删联系人恢复方法 快速找回丢失数据
  11. 支持javascript的ppt软件_把PPT放入浏览器中——12款用于演示的JS库
  12. 机器学习-cs229-逻辑回归
  13. 今有物不知其数三三数之JAVA_今有物不知其数,三三数之剩二,五五数之剩三,七七数...
  14. 华为防火墙(NGFW)的双机热备
  15. native react 折线图_【详解】纯 React Native 代码自定义折线图组件(译)
  16. 你想要的宏基因组-微生物组知识全在这(1907)
  17. ros入门 工程目录结构、节点通信方式、基本操作命令
  18. 【游戏编程扯淡精粹】游戏编程设计模式
  19. IT行业的发展走向趋势
  20. ssh连接服务器FTP传不了文件,ssh连接服务器FTP传不了文件

热门文章

  1. 【Markdown】Markdown 中的Flow flowchart.js 的基础教程
  2. mysql workbench怎么_MySQL Workbench怎么用?MySQL Workbench详细使用教程
  3. Android加载图片内存溢出问题解决方法
  4. vue项目 使用百度云 cyberplayer.js插件方法
  5. 七月集训(22,23)字典树,有序集合
  6. 微型计算机的ALU部件包括在( )之中,微机原理第二章复习题(附答案)期末考试题...
  7. 神经网络历史_神经网络完整有趣且令人费解的历史
  8. 找完数 ,格式为“完数 = 因子1 + 因子2 + ... + 因子k”
  9. mysql错误42000_mysql5.7 异常ERROR 1055 (42000)
  10. 小程序服务器图片的使用