《kafka 核心技术与实战》课程学习笔记(九)

news2024/11/15 23:19:59

客户端都有哪些不常见但是很高级的功能?

什么是 Kafka 拦截器?

  • 拦截器基本思想就是允许应用程序在不修改逻辑的情况下,动态地实现一组可插拔的事件处理逻辑链。
  • 它能够在主业务操作的前后多个时间点上插入对应的“拦截”逻辑。
  • Spring MVC 拦截器的工作原理:
    在这里插入图片描述
  • Kafka 拦截器借鉴了这样的设计思路:可以在消息处理的前后多个时点动态植入不同的处理逻辑,比如在消息发送前或者在消息被消费后。

Kafka 拦截器

  • Kafka 拦截器分为生产者拦截器和消费者拦截器。
    • 生产者拦截器允许你在发送消息前以及消息提交成功后植入你的拦截器逻辑;
    • 消费者拦截器支持在消费消息前以及提交位移后编写特定逻辑。
    • 这两种拦截器都支持链的方式,即你可以将一组拦截器串连成一个大的拦截器,Kafka 会按照添加顺序依次执行拦截器逻辑。
  • 当前 Kafka 拦截器的设置方法是通过参数配置完成的。
    • 生产者和消费者两端有一个相同的参数,名字叫 interceptor.classes,它指定的是一组类的列表,每个类就是特定逻辑的拦截器实现类。
    • 指定拦截器类时要指定它们的全限定名,也就是要把完整包名也加上,不要只有一个类名,并且还要保证 Producer 程序能够正确加载拦截器类。

典型使用场景

  • Kafka 拦截器可以应用于包括客户端监控、端到端系统性能检测、消息审计等多种功能在内的场景。
  • Kafka 默认提供的监控指标都是针对单个客户端或 Broker 的,你很难从具体的消息维度去追踪集群间消息的流转路径。同时,如何监控一条消息从生产到最后消费的端到端延时也是很多 Kafka 用户迫切需要解决的问题。
  • 通过实现拦截器的逻辑以及可插拔的机制,我们能够快速地观测、验证以及监控集群间的客户端性能指标,特别是能够从具体的消息层面上去收集这些数据。这就是 Kafka 拦截器的一个非常典型的使用场景。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/696795.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

接口跨域问题

只要协议不同/端口号不同/域名不同都会导致跨域问题

深入浅出设计模式 - 中介者模式

博主介绍: ✌博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家✌ Java知识图谱点击链接:体系化学习Java(Java面试专题) 💕💕 感兴趣的同学可以收…

C++之lambda表达式回调函数作为参数(一百四十)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

【python】matplotlib 绘制火山图、条形图

文章目录 火山图条形图 火山图 绘制火山图,输入是两个datafreme,行是样本名,列是基因名。使用T-test检验绘制基因表达情况。 def minmax_scale(data):import numpy as np# # 示例数据# data np.array([2, 4, 6, 8, 10])# 进行Min-Max标准化…

go并发编程之channel

目录 1.简介 2.channel类型 无缓冲区的channel 无缓冲区channel的创建 带缓冲区的channel 带缓冲区channel的创建 3.channel使用代码演示 4.获取channel中的值 ​编辑 5.单向channel 单向发送data,发送到channel中 单向接收,channel接收数据 6…

汇编的各种指令及使用方法

***************************************************************** 汇编中的符号 1.指令: 能够编译生成一条32位的机器码,且能被CPU识别和执行 2.伪指令:本身不是指令,编译器可以将其替换成若干条等效指令 3.伪操作&#xff1a…

Linux进程间通信——管道(下)

前文 一,什么是命名管道? 二,命名管道的基本原理 三,创建命名管道实现两个进程对写 四,匿名管道和命名管道的区别 总结 前文 上篇文章我们主要讲了匿名管道的定义以及基本原理,但是匿名管道有一个致命的缺陷&#…

HashSet、LinkedHashSet、TreeSet有什么区别

- HashSet、LinkedHashSet 和 TreeSet 都是 Set接口的实现类,都能保证元素唯一,并且都不是线程安全的。HashSet 的底层数据结构是哈希表(基于 HashMap 实现),元素存入和取出顺序不一致。LinkedHashSet 的底层数据结构…

C++制作五子棋

正文 01 思路 我没有选择专业的五子棋棋型,用我自己的逻辑(初高中玩五子棋的方法),去实现简单的人机对战。 首先因为要计算五子棋每一步的分数,那么你就要分析每一步形成的棋盘,以下图为例:…

蓝桥杯专题-试题版含答案-【风险度量】【括号配对问题】【ASCII码排序】【素数求和】

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 👉关于作者 专注于Android/Unity和各种游…

【Java高级编程】枚举类注解

枚举类&注解 1、枚举类的使用1.1、枚举类的使用1.2、如何定义枚举类1.3、Enum类的主要方法 2、注解的使用2.1、注解的概述2.2、常见的Annotation示例2.3、如何自定义注解:参照SuppressWarnings定义2.4、JDK提供的4种元注解2.5、JDK 8中注解的新特性:…

2023-06-25:redis中什么是缓存穿透?该如何解决?

2023-06-25:redis中什么是缓存穿透?该如何解决? 答案2023-06-25: 缓存穿透 缓存穿透指的是查询一个根本不存在的数据,在这种情况下,无论是缓存层还是存储层都无法命中。因此,每次请求都需要访…

关于C++图论树的某些题图形提示

一、去教室的路。 猫猫大学有n条路,每条路都有一个数字编号,其中的一条路一定与另外2条路相连,请你打出这个学校的地图。 输入1: 1 2 3 4 2 3 45 4 45 1 输出1: 1 2 3 4 5 45 图解 &#xff1…

动态住宅代理VS静态住宅代理,怎么选择?

现在,越来越多的海外代理服务商均支持动态住宅IP与静态住宅IP,很多小伙伴就疑惑,这二者有什么区别呢?哪个更好?其实,没有哪个更好,只有哪一个更合适您的业务。 无论动态住宅IP还是静态住宅IP都来自真实的住…

【软件测试】10道性能测试高频面试题,你能答上多少?

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、性能测试包含了…

表格el-table多出一条横线,怎么解决(el-table表格下方多一条线的问题)

最近在写el-table表格的时候,发现的问题,表格多出一条横线, 可以看出其它行,都是正常显示,只有第7行多出一条横线,找了好久, 最后发现是el-table表格的伪元素,问题就出在这&#xf…

B站化播放量为播放时长,是谁的狂欢?

6月26日晚,B站举办了14周年庆典晚会。在晚会上,除了周深、美依礼芽同框献唱受到关注,B站董事长兼CEO陈睿的演讲内容同样值得深思: 一来,陈睿提到,要将目前B站视频前台显示的播放量数据从次数改为分钟数&am…

精进ARM计算架构,催生人工智能产业的巨大跨越

在优化ARM计算架构以支持人工智能应用方面,以下是一些常见的方法和技术: 算法和模型设计优化:选择合适的算法和模型结构对于在ARM架构上高效执行人工智能任务至关重要。设计轻量级的模型、减少冗余操作和参数量,使用适合ARM架构的…

【K8S系列】深入解析K8S调度

序言 做一件事并不难,难的是在于坚持。坚持一下也不难,难的是坚持到底。 文章标记颜色说明: 黄色:重要标题红色:用来标记结论绿色:用来标记论点蓝色:用来标记论点 Kubernetes (k8s) 是一个容器编…

扩展ExtendedFloatingActionButton滚动收缩展开行为

效果 首先ExtendedFloatingActionButton有默认的Behavior : ExtendedFloatingActionButtonBehavior,这个类是为了ExtendedFloatingActionButton不被SnakBar所遮挡,并且这个类它是protected,所以为了保留原有的设计,自定义的Behavior不能在外部定义&#…