DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
  1. DZone
  2. Data Engineering
  3. Big Data
  4. A Kafka Tutorial for Everyone, no Matter Your Stage in Development

A Kafka Tutorial for Everyone, no Matter Your Stage in Development

Everything you need to master this big data giant.

Peter Connelly user avatar by
Peter Connelly
·
Oct. 21, 19 · Presentation
Like (34)
Save
Tweet
Share
58.88K Views

Join the DZone community and get the full member experience.

Join For Free

caterpillar-undergoing-metamorphosis

I'll keep the existentialism to a minimum, promise

In this edition of "Best of DZone," we've chosen to take a look at Apache Kafka, the low-latency stream-processing platform that has become an industry-standard for real-time streaming and analytics, log aggregation, and Spark data ingestion since LinkedIn first released it to the open source community in early 2011. 

With this collection, we hoped to provide readers with the resources and knowledge they need, regardless of their level of expertise with working the platform or big data in general, to master all things Kafka. 

Before we begin, we'd like need to thank those who were a part of this article. DZone has and continues to be a community powered by contributors like you who are eager and passionate to share what they know with the rest of the world. 

Let's get started!

Kafka Basics

  • In An Introduction to Kafka, developer Prashant Sharma discusses the basics of Kafka, including the fundamentals behind a messaging system, the benefits of Kafka, and key topics (topics, loge, partitions, brokers, etc.) in the platform. 

  • John Hammink and Jean-Paul Azar further this discussion in An Introduction to Apache Kafka and What is Kafka? Everything You Need to Know, as he dives further into the architecture and functionality behind Kafka and describes prominent use cases and common shortcomings. 

  • Then, check out Fundamentals of Apache Kafka by Moritz Plassnig. Writer, Moritz Plassnig, offers another look into the theory behind Kafka with his discussion of combining messaging models and making use of distributed logging. 

  • In Kafka Internals: Consumers, Arun Lingala continues our look under the hood of Apache Kafka by exploring how consumers work in the platform. 

  • If you're unsure if Kafka is right for your next project, read this two-part series by Vitaliy Samofal, as he compares Kafka to RabbitMQ and ActiveMQ to Redis Pub/Sub. Parts one and two can be found here and here, respectively.

Getting Started

  • Gopal Tiwari, in his article, Setting Up and Running Apache Kafka on Windows OS, gets Windows users up and running with Kafka, as he walks readers through installation, setup, running a Kafka server, creating topics, and running a test server. 

  • For those looking to use Scala with Kafka, Shubham has your back in his tutorial, Apache Kafka With Scala, as he explains how to get started with the framework and a Scala project. 
  • In Apache Kafka: Basic Setup and Usage With Command-Line Interface, Chandra Shekhar Pandey explains basic commands that will allow readers to run Kafka Broker and produce and consume messages, topic details, and offset details.

Kafka in organizational infrastructure

Kafka in organizational infrastructure (Source)

Kafka Producer and Consumer

  • Gaurav Garg offers users another article on Kafka setup in his two-part series and then shows readers how to produce and consume records with Kafka brokers in Kafka Producer and Consumer Examples Using Java.

  • Go in-depth on Kafka Consumers in Writing a Kafka Consumer in Java, as developer Jean-Paul Azar walks readers through using Java to write a consumer to receive and process records and set up logging. 
    Need some help with using Kafka and Spring Boot? Be sure to give Rahul Lokurte's article, A Tutorial on Kafka With Spring Boot. 

  • Appearing for the second time in this compilation is John Hammink, as he explains how to create producers and consumers in a data stream with Kafka and Python. If you hard out for a video on the topic, look no further than Shreyas Chaudharri's article, Apache Kafka in Action.

  • For all-things partitions and producers, see these pieces by Anjita Agrawal, Amy Boyl, and Sylvester Daniel, as they explain the nitty-gritty of these key concepts in Kafka in Apache Kafka Topics: Architecture and Partitions, Effective Strategies for Kafka Topic Partitioning, and Kafka Producer Overview. 

Kafka Cluster Setup

  • In this article, Siva Prasad Rao Janapati takes a deep dive into creating Kafka clusters using three different brokers. Additionally, he gives readers some background on Kafka's Producer, Consumer, Streams, and Connector APIs. 

  • Guarav Garg makes another appearance ithis compilation with his article, How to Set Up Kafka Cluster, in which he explains how to create clusters independent of the number of nodes necessary for your project. 

  • Hitesh Jethva offers another piece on clusters with How to Configure an Apache Kafka Cluster on Ubuntu-16.04, which shows readers how to get started creating clusters with Kafka and the Java SDK. 

Kafka architecture

Kafka architecture (Source)

Stream Processing

  • For an in-depth tutorial on Kafka's Streams API, see Satish Sharma's three-part series on real-time stream processing. In part one, Satish goes over stream basics. He expands on this in part two, as he goes over DSL terminology and transformations, while in part three, he walks readers through setting up a single node Kafka Cluster. 

  • In this article, developer Amy Boyle explains how New Relic built its Kafka pipeline with the idea of processing data streams as smoothly and effectively as possible for their current scale. 

  • In Creating Apache Kafka Topics Dynamically as Part of a DataFlow, Tim Spann walks readers through creating Kafka Topics programmatically, as part of streaming. 

Integration, Testing, and Data Loss Prevention

  • For those needing to connect their MongoDB database to Kafka, check out this article by Rober Walters that explains how to use these two components (that make up the heart of so many modern data architectures).

  • In Using Jakarta EE/MicroProfile to Connect to Apache Kafka parts one and two, Otavio Santana shows readers how to securely integrate Jakarta EE and Eclipse MicroProfile and run Kafka on top of a CDI framework. 

  • For all of your testing-needs, here's a great article by Nirmal Chandra that covers fundamental aspects of declarative Kafka testing (and microservice testing involving both Kafka and REST). 

  • Shreya Chaudhari discusses Kafka's use of Replication Factors and In Sync Replicas to prevent data loss in the case of disk and broker failure in his article, Apache Kafka-Resiliency, Fault Tolerance, and High Availability. 

Additional Learning

  • Want a comprehensive course on all things Kafka? Check out this article by Javin Paul that details five online courses in 2019 that will get you started on your Kafka-journey. 

  • Still feel like you need more on Kafka? Check out Thought Shared on Kafka by Manas Dash, as he provides some of his favorite resources on the platform. 

Be a Part of the Conversation!

Think we missed something? Want to contribute? Let us know in the comments below... or, join the conversation by becoming a member of our community of thousands of developers eager to share their knowledge and passion for programming with others.


Further Reading

  • The Best of Node and Express [Articles and Tutorials].
  • Scrum 101: Everything You Need To Know.
  • The Complete Kubernetes Collection [Tutorials and Tools].
kafka Big data cluster Database Stream processing

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Automated Performance Testing With ArgoCD and Iter8
  • RabbitMQ vs. Memphis.dev
  • How To Use Terraform to Provision an AWS EC2 Instance
  • Agile Scrum and the New Way of Work in 2023

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: