The curious case of ‘static’ in Java

Consider the following piece of code: public class Counter { private static int count = 0; // Static variable public Counter() { count++; // Increment count each time a new object is created } public static int getCount() { // Static method return count; } public static void main(String[] args) { Counter c1 = new... Continue Reading →

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: Data which is to be fetched from database, resulting in network calls and usage of precious database resources. Data which is calculated using the response... Continue Reading →

Kafka – Everything that you should know before interview

Introduction to Apache Kafka Concepts Read complete post Apache Kafka – Set up your first Kafka Producer and Consumer Read complete post Kafka Internals: How does Kafka store the data? Read complete post Reliable Data Delivery In Kafka Read complete post Troubleshooting Under Replicated Kafka Partitions Read complete post Kafka Broker Metrics And Their Debugging... Continue Reading →

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 from... Continue Reading →

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 →

Troubleshooting Under Replicated Kafka Partitions

There are two types of replica: Leader replica and Follower replica. Let’s say that there are three replicas of a partition. One of them, should be a leader. All the requests from producers and consumers would pass to the leader in order to guarantee consistency. All the replicas other than the leader are called follower.... Continue Reading →

Tutorial For Kafka Monitoring Using JMX, Prometheus And Grafana

(function(d,u,ac){var s=d.createElement('script');s.type='text/javascript';s.src='https://a.omappapi.com/app/js/api.min.js';s.async=true;s.dataset.user=u;s.dataset.account=ac;d.getElementsByTagName('head')[0].appendChild(s);})(document,237772,254533); 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... Continue Reading →

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 A... Continue Reading →

Blog at WordPress.com.

Up ↑