Kafka 客户端空闲时候流量偏大

2020-06-16 17:08:28 +08:00
 phttc

场景如下:

A 机器上开了一个 kafka 集群,3 个节点。(除 advertised.listeners 外,其余均按照 kafka 的 quickstart 配置)

B 机器上用 librdkafka 写的客户端(照抄官方提供的 demo )。

分配 100 个 topic (已经提前写入一些数据),300 个消费者分成 2 个消费 groupid 平均的连 A 的集群

每个消费者进程 不管是只消费一个 topic,还是消费 100 个 topic,在消费完成,空闲的时候查看 A 机器与 B 机器的流量。

A 机器 进流量 1.3Mb/s 出流量 3Mb/s

疑问:为什么空闲状态下 客户端会占用那么大的带宽?如果消费者和生产者分布在外网,kafka 服务器外网带宽只有 30M 的话,全空闲情况下只能支撑 3000 个客户端?如果有数据,岂不是只能 1000 个都不到了?

是我的使用场景有问题吗?还是哪里可以修改配置?

1988 次点击
所在节点    程序员
4 条回复
Ariver
2020-06-16 18:01:52 +08:00
抓包看一下。
另外像 kafka,redis 这种默认的使用场景都是局域网吧
tzhhahaha
2020-06-16 18:26:09 +08:00
看一下线程堆栈都是在干嘛? 一般空闲应该就是 getTopicMetadata 之类的, 没有那么夸张
hustlibraco
2020-06-16 18:54:48 +08:00
你确定是 kafka 产生的流量吗……
fannas
2020-06-17 03:59:32 +08:00
作为消息中间件,你就给 30m 带宽? 如果感觉难度比较高的话,建议买 confluent 订阅

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

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

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

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

© 2021 V2EX