我知道这个问题问的不太严谨. [ol]通常来说硬件不好不坏 譬如 2 核 8G 内存这样单消费者 [/ol] 我这边测试, 什么都不干, 只读数据然后记一个 log. 差不多 1M/秒 1500 条数据/秒 用的 github.com/segmentio/kafka-go 还有优化空间吗? 因为我在网上看 kafka 的极限数据都很恐怖 百万/秒 不太懂, 希望大佬给点思路. Kafka, 只读, log, 数据
单消费者可以理解为只有单服务的情况下,我个人觉得有几个方向可以考虑 1 、batch 为 true,concurrency 看看开多少个线程比较好 2 、max-poll-records 每次拉取的数量可以跳大一点,这个可以自己测试 3 、带宽会很大程度的影响消费量
消费速度,更多得取决于如何消费。你把消费方式,改成接受到消息后,再异步转发出去做后续实际的处理,就能感受到百万/秒的消费了。不过这样做没多大意义。这个百万/秒 ,更多的意义是用在消息发布和并发消费这两个场景。
加配置前: 1 调整参数:搜一下 *max*真对 consumer 的参数 2 加分区和消费者数量 3 优化 consumer 的业务逻辑,比如改成异步写入日志 你看的网上百万是脱离业务的理想值,不值得去深究,根据你自己的需求,最后: 4 压力测试后,如果 kafka 是短板的话,针对性加配置,加带宽。