↓ Skip to main content
Streams

Event Streaming

·2 mins

While reading Apache Kafka it was interesting analogy that they described

Event streaming is the digital equivalent of the human body’s central nervous system. — Apache Kafka

It draws a great parallel between how the central nervous system allows for real time event generations and consumption in terms of reflex actions. The examples are well explained and captured here.

The biggest advantage of using such a platform is that besides the obvious

  • Distributed
  • Secure
  • Highly scalable & fault-tolerant

It can be deployed on bare-metal hardware and containers.

Terminologies
#

The basic terms that you might often hear when talking about Kafka are as under.

Server and Clients
#

Since it is distributed system it interacts over TCP via server and client system. It uses a binary protocol over TCP. (More details here)

Kafka cluster storage layer is termed as Broker.

Events
#

These are essentially the information (a record) that is produced and read in the Kafka universe. They generally have a Key, Value and Timestamp. Events are organized and stored in Topics.

In kafka one can define for how long should the events should be retained through a per-topic configuration setting, after which old events will be discarded.

Topics are partitioned, meaning a topic is spread over a number of “buckets” located on different Kafka brokers.

Producers
#

Applications that generates and publishes the information.

Consumers
#

Applications that consume the information available in Kafka universe

Author
Samarthya
Engineer, learner, tinkerer. This is my trophy shelf of everyday work and leisure.

Related

Docker

Usually I use Centos, but this time I wanted to try out docker swarm and ubuntu was the preferred option due to the options and supporting blogs available. Do read – https://docs.docker.com/get-started/#containers-and-virtual-machines docker.com

Pangram

·1 min
I wrote my first program for Pangram in JS here and attempted few variations to optimize the readability and execution time. This time the code challenge was in Golang and it was satisfying attempt to do in first try.

Nil Interface

·2 mins
An interface in Golang is a set of methods and a type. What is the purpose of Nil interface in GO-lang A nil interface value holds neither value nor concrete type.