Golang Kafka Writer 消息被截断

2021-12-09 09:56:21 +08:00
 ghjacky
* 数据流向:数据上报 API ===> goroutine 写入 buffer (channel) ===> goroutine 后台循环从 buffer 中读取 batchsize 个消息 ===> kafka writer 将获取到的消息写入 kafka

* 目前看到,从 buffer 中读取到的消息都是完整的,但是从 kafka 消费出来的消息很多都被截断了,差不多 30%多

* 每个 topic n 个 partition ,1 个 group ,n 个消费者

* 每条消息的长度从 2k 到 10k 不等,也有更长的,但 90%多在 2k 到 10k 之间

* 被截断的消息:截断为 n 段( n 不确定),比较大的一部分基本都处于 4000 到 8000 个字节之间,小的部分可能就几个字节

**详细信息如上**
**各位,帮忙看下是什么原因导致的,先谢过🙏**
934 次点击
所在节点    Kafka
2 条回复
liprais
2021-12-09 10:15:03 +08:00
你看看 writer 什么时候发消息就知道了
ghjacky
2021-12-20 11:31:25 +08:00
@liprais 刚看到,不好意思,不知道为啥我这边居然没有未读提醒。。
目前是去掉 buffer ,直接收到一条写一条,没有被截断的情况了。
你说的看 writer 什么时候发消息是什么意思,可以讲的详细点吗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/821035

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX