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 →
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. Please... 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
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 measurements... 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 →
Effective Debugging
Debugging is an art. It’s detective work and it’s not easy. Software Engineering, with myriad data flows and multiple people working on the same project, makes debugging complex and challenging.