返回到文章

采纳

kafka消息发送时间随内容增加而剧增?

kafka

测试了发送100000 条信息。

Properties properties = new Properties();
InputStream in = KafkaProducerOps.class.getClassLoader().getResourceAsStream("producer.properties");
properties.load(in);

Producer<String, String> producer = new KafkaProducer<String, String>(properties);
for (int i = start; i <= start + 100000; i++) {
    String topic ="test";
    ProducerRecord<String, String> producerRecord =
    new ProducerRecord<String, String>(topic, key, i+"");
    producer.send(producerRecord);
}

大概是2-4秒。

但是,当发送的消息有四五十个字符串长度的时候,要13--15秒;
测试了一下3kb的字符串,3分钟才发送到30000。

我这样测试有没有违背消息机制的初衷?不应该发送很大的数据量,而是用来作为一个简单的消息中间件,再配合其他接口?

目前准备使用的场景是 canal 监听mysql的binlog日志,以消息的形式通过kafka发出去。提供给子终端。