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 Video Library
Refcards
Trend Reports

Events

View Events Video Library

Related

  • Kafka: Powerhouse Messaging
  • Superior Stream Processing: Apache Flink's Impact on Data Lakehouse Architecture
  • A Deep Dive Into the Differences Between Kafka and Pulsar
  • The Kappa Architecture: A Cutting-Edge Approach for Data Engineering

Trending

  • The Hidden Bottlenecks That Break Microservices in Production
  • Visualizing Matrix Multiplication as a Linear Combination
  • AWS Managed Database Observability: Monitoring DynamoDB, ElastiCache, and Redshift Beyond CloudWatch
  • Detecting Advanced Persistent Threats Using Behavioral Analytics and Log Correlation
  1. DZone
  2. Data Engineering
  3. Big Data
  4. When Not To Use Apache Kafka (Lightboard Video)

When Not To Use Apache Kafka (Lightboard Video)

When not to use Apache Kafka, do's and don't's; no matter if you use open source, Confluent, Amazon MSK, Event Hubs, Redpanda, Warpstream, et al.

By 
Kai Wähner user avatar
Kai Wähner
DZone Core CORE ·
Jun. 25, 24 · Presentation
Likes (1)
Comment
Save
Tweet
Share
3.0K Views

Join the DZone community and get the full member experience.

Join For Free

Apache Kafka is the de facto standard for data streaming to process data in motion. With its significant adoption growth across all industries, I get a very valid question every week: When should we not use Apache Kafka? What limitations does the event streaming platform have? When does Kafka simply not provide the needed capabilities? How do we qualify Kafka if it is not the right tool for the job? This blog post contains a lightboard video that gives you a twenty-minute explanation of the do's and don't's.

when not to use kafkaDisclaimer: This blog post shares a lightboard video to watch an explanation about when NOT to use Apache Kafka.

What Is Apache Kafka, and What Is It Not?

Kafka is often misunderstood. For instance, I still hear way too often that Kafka is a message queue. Part of the reason is that some vendors only pitch it for a specific problem (such as data ingestion into a data lake or data warehouse) to sell their products. So, in short:

Kafka Is…

  • A scalable real-time messaging platform to process millions of messages per second.
  • A data streaming platform for massive volumes of big data analytics and small volumes of transactional data processing.
  • A distributed storage provides true decoupling for backpressure handling, support of various communication protocols, and replayability of events with guaranteed ordering.
  • A data integration framework (Kafka Connect) for streaming ETL.
  • A data processing framework (Kafka Streams) for continuous stateless or stateful stream processing.

This combination of characteristics in a single platform makes Kafka unique (and successful).

Kafka Is Not…

  • A proxy for millions of clients (like mobile apps) – but Kafka-native proxies (like REST or MQTT) exist for some use cases.
  • An API Management platform – but these tools are usually complementary and used for the creation, life cycle management, or monetization of Kafka APIs.
  • A database for complex queries and batch analytics workloads – but good enough for transactional queries and relatively simple aggregations (especially with ksqlDB).
  • An IoT platform with features such as device management  – but direct Kafka-native integration with (some) IoT protocols such as MQTT or OPC-UA is possible and the appropriate approach for (some) use cases.
  • A technology for hard real-time applications such as safety-critical or deterministic systems – but that’s true for any other IT framework, too. Embedded systems are a different software!

For these reasons, Kafka is complementary, not competitive, to these other technologies. Choose the right tools for the job and combine them!

Lightboard Video: When Not To Use Apache Kafka

The following video explores the key concepts of Apache Kafka. Afterward, the do's and don't's of Kafka show how to complement data streaming with other technologies for analytics, APIs, IoT, and other scenarios.


Data Streaming Vendors and Cloud Services

The research company Forrester defines data streaming platforms as a new software category in a new Forrester Wave. Apache Kafka is the de facto standard used by over 100,000 organizations.

Plenty of vendors offer Kafka platforms and cloud services. Many complementary open-source stream processing frameworks like Apache Flink and related cloud offerings emerged. Competitive technologies like Pulsar, Redpanda, or WarpStream try to get market share by leveraging the Kafka protocol. 

Data Streaming Landscape 2024 around Kafka Flink and Cloud

Apache Kafka Is a Data Streaming Platform: Combine It With Other Platforms When Needed!

Over 150,000 organizations use Apache Kafka in the meantime. The Kafka protocol is the de facto standard for many open-source frameworks, commercial products, and serverless cloud SaaS offerings.

However, Kafka is not an allrounder for every use case. Many projects combine Kafka with other technologies, such as databases, data lakes, data warehouses, IoT platforms, and so on. Additionally, Apache Flink is becoming the de facto standard for stream processing (but Kafka Streams is not going away and is the better choice for specific use cases).

Where do you (not) use Apache Kafka? What other technologies do you combine Kafka with? Let’s connect on LinkedIn and discuss it! Stay informed about new blog posts by subscribing to my newsletter.

Big data Data processing Stream processing kafka

Published at DZone with permission of Kai Wähner. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • Kafka: Powerhouse Messaging
  • Superior Stream Processing: Apache Flink's Impact on Data Lakehouse Architecture
  • A Deep Dive Into the Differences Between Kafka and Pulsar
  • The Kappa Architecture: A Cutting-Edge Approach for Data Engineering

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

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

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook