![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Kafka之producer源码解读
从源码角度分析Kafka消费者原理
一只王多鱼的分享
这个作者很懒,什么都没留下…
展开
-
5.13如何处理长时间没有收到响应的消息
如何处理长时间没有收到响应的消息原创 2023-03-16 16:45:19 · 323 阅读 · 0 评论 -
5.12生产者如何处理超时的批次
这里肯定又要想到sender线程了,因为当时做处理过程概览的时候有一个步骤六,我们一直没有去分析,这个步骤当时说是放弃超时的batch,准确来说要在这里看一下是如何处理的。再来看一下 abortExpiredBatches方法,会发现如果消息有异常了也会对内存做相应的处理。这里要去看一下maybeExpire判断超时的一个标准。最后看到了熟悉的done方法,这次会走他的另一个分支。这里最终的思想还是交给用户自己去处理。我们跟进去看一下是如何处理的。原创 2023-03-15 10:47:19 · 118 阅读 · 0 评论 -
5.11消息有异常如何处理
最后如果真的是有一些消息带有异常导致无法正常发送,我们也不能放任不管,这样就丢数据了,通常的做法就是在生产者代码的回调函数中捕获到这样的消息,将它存储到备用链路里面,防止丢数据。这里主要还是之前看到的Sender.java中的completeBatch方法。我们可以简单的看一下reenqueue做了什么处理。原创 2023-03-15 10:43:15 · 404 阅读 · 0 评论 -
5.10消息发送完成后内存如何处理
消息发送完成后内存如何处理原创 2023-03-14 20:02:39 · 51 阅读 · 0 评论 -
5.9producer如何处理响应消息
producer如何处理响应消息原创 2023-03-14 17:22:56 · 71 阅读 · 0 评论 -
5.8生产者如何处理暂存状态的响应
生产者如何处理暂存状态的响应原创 2023-03-13 19:34:45 · 39 阅读 · 0 评论 -
5.7producer如何处理拆包问题
producer如何处理拆包问题原创 2023-03-13 16:47:29 · 45 阅读 · 0 评论 -
5.6producer如何处理粘包问题
producer如何处理粘包问题原创 2023-03-12 18:21:28 · 69 阅读 · 0 评论 -
5.5sender线程运行流程
sender线程运行流程原创 2023-03-12 10:08:00 · 128 阅读 · 0 评论 -
5.4RecordAccumulator封装消息流程
RecordAccumulator封装消息流程图原创 2023-03-11 20:29:15 · 102 阅读 · 0 评论 -
5.3确认消息大小
确认消息大小原创 2023-03-10 21:38:19 · 60 阅读 · 0 评论 -
5.2分区选择
分区选择原创 2023-03-10 21:34:51 · 49 阅读 · 0 评论 -
5.1producer加载元数据
producer加载元数据原创 2023-03-09 19:42:34 · 95 阅读 · 0 评论 -
5.核心流程
核心流程入口原创 2023-03-09 19:27:32 · 67 阅读 · 0 评论 -
4.元数据管理
元数据管理原创 2023-03-08 17:18:40 · 92 阅读 · 1 评论 -
3.producer初始化
producer初始化原创 2023-03-08 16:33:28 · 112 阅读 · 0 评论 -
2.producerdemo执行流程
producerdemo执行流程原创 2023-03-08 16:06:14 · 54 阅读 · 0 评论 -
1.producer发送数据的总体流程
producer发送数据的总体流程原创 2023-03-08 15:37:47 · 147 阅读 · 2 评论