我们宁愿在生产者上使用像这样的异步请求/响应
private class MyCallback implements ResponseCallback {
public void response(Response r) {
//handle failure or success. If success, ack the upstream kafka
}
}
producer.send(request, callback);
Run Code Online (Sandbox Code Playgroud)
我唯一看到的是将producer.type设置为asynch,但调用只是一个异步请求而不等待任何响应......
producer.send(request);
Run Code Online (Sandbox Code Playgroud)
这不幸地迫使我进行同步,这意味着在加载时,我的线程在kafka上等待可能会开始减慢速度,因为我更愿意只用一堆请求猛击kafka并在我不断发送请求时收到响应.
谢谢,迪恩
看来 Kafka 正在进行一项不错的工作,将引入异步调用模式,请查看:消费者和生产者
目前,您可以使用标准 Callable/Executors 并使用 Google Guava 优秀的ListenableFuture向它们添加回调。您还可以探索Netflix 的Hystrix以获取更多(复杂且灵活)的调用模式。
| 归档时间: |
|
| 查看次数: |
3672 次 |
| 最近记录: |