测试了发送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发出去。提供给子终端。