Design a TTL based in-memory cache in golang

Introduction Caches are data storage layer that are used to avoid doing operation that is expensive or hard to compute. The following examples can be characterised as an expensive operation: Essentially, caches are like a water jug kept on the dining table. They will be replenished from tap water when they are empty. Having aContinue reading “Design a TTL based in-memory cache in golang”

Zero To One – Ready To Kickstart Your Software Engineering Career?

This course is designed for someone who has a basic to no understanding of coding. The course intends to provide flavours of little bit of everything. There are also links to leetcode problems that you should solve. Leetcode problems are selected in a way to provide you familiarity with different data structures and algorithms. PleaseContinue reading “Zero To One – Ready To Kickstart Your Software Engineering Career?”

Kafka – Everything that you should know before interview

What Is Stream Processing ?

What is a data stream or event stream? A data stream is an abstraction representing an unbounded dataset. Unbounded that data is infinite and it grows over time as the new record keep getting added to the dataset. The data contained in the events or the number of events per second. The data differs fromContinue reading “What Is Stream Processing ?”

Kafka Broker Metrics And Their Debugging

If you are new to Kafka, please read the first three posts of the series given below. Else dive in.  Introduction to Kafka Kafka Internals Reliable Data Delivery in Kafka Troubleshooting Under Replicated Kafka Partitions If you are preparing for an interview, this post contains most of the things that you should know about Kafka.Continue reading “Kafka Broker Metrics And Their Debugging”

Tutorial For Kafka Monitoring Using JMX, Prometheus And Grafana

If you are new to Kafka, please read the first three posts of the series given below. Else dive in.  Introduction to Kafka Kafka Internals Reliable Data Delivery in Kafka How do your monitor your Kafka setup? There are a number of measurement collected while Kafka is operational. We are going to collect these measurementsContinue reading “Tutorial For Kafka Monitoring Using JMX, Prometheus And Grafana”

Reliable Data Delivery In Kafka

If you are new to Kafka, please read the first two posts of the series given below. Else dive in. 🙂 Introduction to Kafka Kafka Internals What are the guarantees provided by Kafka? Guarantee of order Assume that there are two messages – Message A and Message B. Message B is sent after Message AContinue reading “Reliable Data Delivery In Kafka”

Kafka Internals: How does Kafka store the data?

A quick recap of the basic terminology of Kafka can be found here. The fundamental unit that Kafka manages is called a message. Message is simply a byte array without any restriction of the format. As you would know, producers produce data to a topic. Each topic is further divided into multiple partitions. Messages areContinue reading “Kafka Internals: How does Kafka store the data?”

Introduction to Circuit Breaker In Software Engineering

What is common among mighty water dam, humble electric fuse, and i-dunno-what hysterix and hysterix-go? Take a moment to think of an answer. Yes. All of them are some sort of check that stops bad things from happening by deploying some safeguarding measure whenever a threshold is crossed. What exactly is circuit breaking? While researchingContinue reading “Introduction to Circuit Breaker In Software Engineering”