01 logo

An Introduction to Apache Kafka: What it is and why it matters

Kafka Overview

By ansam yousryPublished about a year ago 3 min read
Like
Kafka

we discussed here what ESP means and why we need ESP solutions and the most popular ESP solutions. In this article, we will dive deep into Apache Kafka.

After this article, you will be able to :

  • Recognize Apache Kafka as an Event Streaming Platform (ESP).
  • List common use cases for Apache Kafka
  • Describe the architecture of Apache Kafka
  • Summarize the main features and benefits of Apache Kafka
  • List popular ESP as a service providers

Apache Kafka as an Event Streaming Platform (ESP):

we need ESP because when we have multiple sources and destinations with different communications protocols, it is very complex to set up these connections from scratch, ESP is a middle layer among various event sources and destinations that all sources send to it and all destinations need to subscribe to this middle layer and consume the events sent from this middle layer.

And one of the most popular event-streaming platforms ESP. Apache Kafka, an open-source project.

Common use cases for Apache Kafka:

  • track user activities such as keyboard strokes, mouse clicks, page views, searches, screen time, and so on.
  • metric-streaming such as sensor readings, GPS, as well as hardware and software monitoring.
  • Kafka can be used to collect and integrate logs for enterprise applications and infrastructure.
  • Kafka is used for payments and transactions for banks, insurance, or FinTech companies.

The architecture of Apache Kafka:

  • Distributed client-server architecture: Kafka is a cluster with many associated servers called brokers, acting as the event broker to receive, store, and distribute events. All those brokers are managed by another distributed system called ZooKeeper ensures all brokers work in an efficient and collaborative way.it’s very important to know the role of ZooKeeper.
  • Kafka uses a TCP (Transmission Control Protocol) based network communication protocol to exchange data between clients and servers.

For the client side, Kafka provides different types of clients, such as:

  • Kafka CLI (Command Line Interface): is a collection of shell scripts to communicate with the Kafka server
  • many high-level programming APIs: such as Java, Scala, REST APIs, and some specific third-party clients made by the Kafka community.

Main features and benefits of Apache Kafka:

A Kafka cluster normally has multiple event brokers which can handle event streaming in parallel. the main features and benefits :

  • Kafka is very fast and highly scalable.
  • Kafka divides event storage into multiple partitions and replication which makes it fault-tolerant and highly reliable
  • Kafka stores the events permanently. As such, event consumption could be done whenever suitable for consumers without a deadline.
  • Kafka is open source, meaning that you can use it for free, and even customize it based on your specific requirements. Even though Kafka is open source and well-documented but it is still challenging to configure and deploy Kafka without professional assistance

popular ESP as a service provider:

  • Deploying a Kafka cluster requires extensive efforts for tuning infrastructure and consistently adjusting the configurations, especially for enterprise-level deployments. for this reason, several commercial service providers offer an on-demand ESP-as-a-Service to meet your streaming requirements. Many of them are built on top of Kafka and provide added value for customers. Some well-known ESP providers include

  • Confluent Cloud, which provides customers with fully managed Kafka services, either on-premises or on-cloud
  • IBM Event Streams, which is also based on Kafka and provides many add-on services such as enterprise-grade security, disaster recovery, and 24–7 cluster monitoring.
  • Amazon Managed Streaming for Apache Kafka, which is also a fully managed service to facilitate the build and deployment of Kafka.

In this article, you learned that :

  • Apache Kafka is a very popular open-source ESP
  • Common Kafka use cases include user-activity tracking, metrics and logs integrations, and financial transaction processing.
  • Apache Kafka is scalable and reliable
  • Popular Kafka service providers include confluent Cloud, IBM Event Stream, and Amazon MSK.

I hope you enjoyed reading this and finding it informative.

tech news
Like

About the Creator

ansam yousry

Work as data engineer , experienced in data analyst and DWH , Write technical articles and share my life experience

Reader insights

Be the first to share your insights about this piece.

How does it work?

Add your insights

Comments

There are no comments for this story

Be the first to respond and start the conversation.

Sign in to comment

    Find us on social media

    Miscellaneous links

    • Explore
    • Contact
    • Privacy Policy
    • Terms of Use
    • Support

    © 2024 Creatd, Inc. All Rights Reserved.