我们更倾向于在生产者上使用异步请求/响应,如下所示。
private class MyCallback implements ResponseCallback {
public void response(Response r) {
//handle failure or success. If success, ack the upstream kafka
}
}
producer.send(request, callback);
我所见过的唯一方法就是将producer.type设置为asynch,但这个调用只是一个异步请求,并不等待任何响应...
producer.send(request);
很遗憾,这迫使我采用同步方式,这意味着在负载下,我的线程等待kafka可能会导致事情变慢,而我更愿意向kafka发送一堆请求并在发送请求的同时接收响应。
谢谢, 迪恩