sniperking1234
V2EX  ›  Kafka

kafka 性能问题: kafka 传递海量小数据的时候,需要合并数据发送吗

  •  
  •   sniperking1234 · Nov 21, 2023 · 5296 views
    This topic created in 1082 days ago, the information mentioned may be changed or developed.

    对 kafka 不了解,求助下 v 友。

    场景是有很多小数据需要通过 kafka 发送,每条数据的量不到 1kb ,但是高峰期数量很多,这种情况下,小数据会不会影响 kafka 性能,需要把数据合并成数组,批量发送吗。kafka 在哪种情况下性能会好一些呢。

    13 replies  •  2024-02-21 21:46:40 +08:00
    bthulu
    bthulu
    Nov 21, 2023❤️1
    1
    不需要, kafka 永远值得你相信
    sampdoria
    sampdoria
    Nov 21, 2023
    2
    不用
    关于 Kafka 的 IO ,可以看一下这篇 https://juejin.cn/post/7068090666969989151
    sighforever
    sighforever
    Nov 21, 2023
    3
    我记得 kafka 的客户端本来就会合并发送
    BBCCBB
    BBCCBB
    Nov 21, 2023
    4
    没有提供批量的 api, 但通过 linger.ms 和 batchSize 配置, kafka client 默认就是批量的..
    sniperking1234
    sniperking1234
    OP
    Nov 21, 2023
    5
    @bthulu @sampdoria 多谢,我去看下相关资料
    sniperking1234
    sniperking1234
    OP
    Nov 21, 2023
    6
    @sighforever 对,是有相关的参数,但是不清楚内部处理小数据会不会影响性能
    lessMonologue
    lessMonologue
    Nov 21, 2023
    7
    不需要,client 会自己处理成 bantch 发送
    fxbing
    fxbing
    Nov 21, 2023
    8
    只要别指定顺序 key 就行,默认按 key 分配分区,如果不同消息不同 key 就会导致攒不了 batch
    yosoroAida
    yosoroAida
    Nov 21, 2023
    9
    好像 client 默认情况下每隔一秒就 batch 发送
    vincent7245
    vincent7245
    Nov 21, 2023
    10
    1 生产者和消费者客户端都是可以设置批量大小的,而且默认就是小批量发送和接收的,你可以查一下官方文档
    2 kafka 服务本身是有 cache 的,只要消费及时,数据是直接走内存的,没有磁盘 IO 性能问题。
    3 网络 IO 取决于你的机器性能,不过一般的场景不会有性能问题,至少我们 TB 级的数据量都还没遇到过性能瓶颈
    CEBBCAT
    CEBBCAT
    Nov 21, 2023
    11
    如有疑惑,可以压测。(也许是个实践压测的好机会?
    sniperking1234
    sniperking1234
    OP
    Nov 21, 2023
    12
    bronyakaka
    bronyakaka
    Feb 21, 2024
    13
    你不用合并,producer 通常自己会按批发送,你这种情况可以配置批次 size 大些,等待久些,从而优化吞吐。

    (推荐一下我的 kafka gui 客户端,非常好用: https://github.com/Bronya0/Kafka-King/)
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1884 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 91ms · UTC 09:07 · PVG 17:07 · LAX 01:07 · JFK 04:07
    ♥ Do have faith in what you're doing.