加速Message Hub Kafka Java控制台示例

时间:2017-02-06 18:28:32

标签: message-hub

我一直在使用此链接中的Message Hub示例代码:https://github.com/ibm-messaging/message-hub-samples

特别是,我一直在尝试使用Kafka Java控制台示例来提高生产者的吞吐量。我注意到这段代码中的文档:

// Synchronously wait for a response from Message Hub / Kafka on every message produced. // For high throughput the future should be handled asynchronously. RecordMetadata recordMetadata = future.get(5000, TimeUnit.MILLISECONDS); producedMessages++;

我已经关闭了稍后在代码中找到的线程睡眠,这也有助于提高吞吐量,但我希望我能在这个块中异步实现未来得到一些帮助。提前致谢!

1 个答案:

答案 0 :(得分:2)

您有两个基本选项可以异步处理产品请求的结果

1)使用带有完成回调参数的重载send,该参数将异步调用: public Future<RecordMetadata> send(ProducerRecord<K, V> record, Callback callback);

如果使用回调,您可能会忽略未来。

2)将Future传递给您创建的其他线程,让它检查未来是否完成,同时让调用send的线程可以继续进行。