Hello All,
In my earlier mail, I am sorry I did not give lot of details on my setup
where I am measuring performance between producer and consumer. Here are
the details:
- I am using Kafka version 0.7 downloaded from Apache web site.
- I am using a modified version of KafkaConsumerProducerDemo example that
comes with the distribution. I have made the following modifications:
- In Producer java file:
int messageNo = 1;
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd
HH:mm:ss.SSS") ;
while(true)
{
String messageStr = new String("Message_" + messageNo);
producer.send(new ProducerData<Integer, String>(topic,
"Message produced at " + dateFormat.format(new Date())
+ ": " + messageStr));
messageNo++;
}
- In Consumer.java file:
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd
HH:mm:ss.SSS") ;
while(it.hasNext())
System.out.println("Message received at " + dateFormat.format(new
Date()) + ": " + ExampleUtils.getMessage(it.next().message()));
Based on the messages on the console from consumer, I am getting values
ranging from 900ms to 1200ms per message for the time difference between
received message time and the timestamp in the message itself.
Kindly let me know where I am going wrong and are there any configuration
steps involved for getting optimal performance for the time taken for a
specific message to be fetched and the time when it was sent by producer.
Regards,
Kishore