单个app的网卡输出有上限是因为读取 kafka 的并发是有限的: 对一个 group,为了保证同一 partition 内消息的有序,需要确保同一个 partition 只有一个 consumer.因此你的 partition 个数决定了 consumer 的个数,是有上限的。 多个 app 是多个 group,所以观察到网卡流量也就上来了
所以本质上还是得看下当前是 kafka 消费的瓶颈还是计算时效的问题,如果是前者就增加partition,后者提高并发才有用。 刚接触flink时看到别人的一个情况: 1. kafka partition > flink parallelism,一个 TM 可能处理多个分区 2. kafka partition < flink parallelism,如果没有 rebalance 的话,有的 TM 不会处理数据,估计对应你现在的问题 3. kafka partition = flink parallelism,如果数据在 kafka 就是均匀的话,这种是比较理想的状态。 -- Sent from: http://apache-flink.147419.n8.nabble.com/