Kafka应用开发建议
同一个组的消费者的数量建议与待消费的Topic下的Partition数保持一致
若同一个组的消费者数量多于Topic的Partition数时,会有多余的消费者一直无法消费该Topic的消息,若消费者数量少于Topic的Partition数时,并发消费得不到完全体现,因此建议两者相等。
避免写入单条记录超大的数据
单条记录超大的数据在影响处理效率的同时还可能写入失败,此时需要在初始化Kafka生产者实例时根据情况调整“max.request.size ”值,在初始化消费者实例时调整“max.partition.fetch.bytes”值。
// 协议类型:当前支持配置为SASL_PLAINTEXT或者PLAINTEXT props.put(securityProtocol, kafkaProc.getValues(securityProtocol, "SASL_PLAINTEXT")); // 服务名 props.put(saslKerberosServiceName, "kafka"); props.put("max.request.size", "5252880");
// 安全协议类型 props.put(securityProtocol, kafkaProc.getValues(securityProtocol, "SASL_PLAINTEXT")); // 服务名 props.put(saslKerberosServiceName, "kafka"); props.put("max.partition.fetch.bytes","5252880");