I have recently started my journey in Big data technologies and my background has been mainly core Java. I have a project where I need to be able to process streams of call records and correlate them for business analytics, generate dashboard and events based on specific patterns/criteria.
As part of that project I am planning to explore Kafka, can you recommend good tutorials, books explaining how Kafka works, how to deploy and code to use Kafka capabilities and optimizing it for production.
This is very basic but it can help to understand the kafka basic model
Apache Kafka is a high-throughput distributed messaging system developed by LinkedIn. Kafka is a distributed, partitioned commit log service, that provides the functionality of a messaging system with a unique design. It is written in Scala and does not follow JMS (Java Message Service) standards.
The best way to learn about Kafka is read the original design page http://kafka.apache.org/ .That will give you an overview of the motivation behind the design choices and what makes Kafka efficient. It is also a very engaging read if you are interested in systems.
In terms of adoption, Kafka is currently used in production at LinkedIn, Twitter, Tumblr, Square and a number of different companies. You can read about the uses cases that those companies found for Kafka
It will get you started very quickly and allow you learn about the most important concepts in less than two hours. In total there are 4 hours of content!
And there are more tutorials at https://kafka-tutorials.com