Re: Using Java Kafka Producer API for nearly Real Time Applications

2017-08-17 Thread Pavel Moukhataev
Hi! I created KIP https://cwiki.apache.org/confluence/display/ARIES/KIP-190+-+Make+java+kafka+producer+asynchronous But I put it into ARIES space because I don't have access rights for the KAFKA confluence namespace. Can you please move it? 2017-08-12 2:52 GMT+03:00 Apurva Mehta

Re: Using Java Kafka Producer API for nearly Real Time Applications

2017-08-11 Thread Apurva Mehta
Thanks for clarifying. There are no plans to implement a 100% async kafka client which you decribe. However, if you file a KIP with a detailed proposal for how you want to implement it, we can then have a discussion about the tradeoffs in terms of additional code complexity and also with other use

Re: Using Java Kafka Producer API for nearly Real Time Applications

2017-08-11 Thread Pavel Moukhataev
Imagine I have application with very strong requirements about latency. And I want to save my data to kafka for each event (many times per second). And my application can't wait for metadata fetch. So I need to do something quickly from my main thread. If there is kafka problem then I can

Re: Using Java Kafka Producer API for nearly Real Time Applications

2017-08-11 Thread Apurva Mehta
What precise use case do you have in mind? If you don't have cluster metadata, you can't send the requests anyway. If you want to bound your memory and run out of it, that means that you are not able to send data for some reason. The best you can do in both cases is to drop old messages from the

Using Java Kafka Producer API for nearly Real Time Applications

2017-08-11 Thread Pavel Moukhataev
Hi Sometimes kafka is used in nearly real-time java applications that has low latency requirements. In that case it is very important to minify latency. In kafka producer API there are two things that are done synchronously and can be optimized: - cluster metadata fetch - wait for free memory