V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
phttc
V2EX  ›  Kafka

kafka 流量大

  •  
  •   phttc · 2016-11-11 15:37:49 +08:00 · 4787 次点击
    这是一个创建于 2934 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近遇到一个问题。我们的业务分为很多个小服务,消息中间件用的是 kafka 。也就是说,我们的 producer 和 consumer 数量比较大, topic 也很多。

    现在重点来了, kafka 的回包比较大。。也就是说 如果有效数据是 10 字节,这个包有 10KB (夸张用法)。这样子一来,服务器的带宽占用非常高。跨机房的话,这笔流量费用是巨大的。

    各位大大,,你们有遇到过么?有什么解决方案么?

    5 条回复    2016-11-12 12:16:28 +08:00
    cloudzhou
        1
    cloudzhou  
       2016-11-11 18:36:32 +08:00
    使用二进制协议?让数据包更小?
    h3nng
        2
    h3nng  
       2016-11-11 20:23:16 +08:00 via iPhone
    可以考虑用压缩, Kafka 支持端到端压缩的,建议采用非 zip 压缩
    xiamx
        3
    xiamx  
       2016-11-11 22:25:02 +08:00
    可以部署个 kafka 集群,根据 topic 进行 partitioning 尽量减少跨机房的流量
    limbo0
        4
    limbo0  
       2016-11-12 00:34:16 +08:00
    不是专家, 公司用 snappy 压缩, lz 可以试试, 另外不知道怎么读的 有效数据占这么点? 可以适当增加一次读入的 size 吧
    jamesyf
        5
    jamesyf  
       2016-11-12 12:16:28 +08:00
    尽量多用 batching, 一次网络沟通多发几个信息,这样你的 network 效率比较高,硬盘性能也会好很多

    基本思路:
    1. producer type 用 async
    2. batch.size 尽量调大
    3. linger.ms 适当调大
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1078 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:06 · PVG 03:06 · LAX 11:06 · JFK 14:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.