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 →

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 are... 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.

Monoliths vs Microservices

This article was originally written for nurture.farm's official blog - sprout. The original article can be found here. Microservice-based architectures have evolved from monolithic architectures as the expectation from a software system increased in terms of speed of deployment, separation of concerns, and scalability. The software systems that cater to millions of requests per minute... Continue Reading →

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

The curious case of rounding

Scenario 1 Let’s assume, we have a farmer named Chirag. Chirag booked a spraying service for one acre. Our spraying rate per acre is 10000 cents and we are offering a discount of 10.66 percent. So, he gets the following bill. Spraying CostDiscountTotalFinal after Rounding off10000 cents10.66%8934 cents89 $ He pays the bill before spraying, it's prepaid.... Continue Reading →

Is your API idempotent?

You would frequently find senior engineers asking this question in your code review. But what exactly is idempotency? Idempotency is basically operations that when done once or multiple times, gives you the same result.  Have you used this two-way switch? If yes, do you think this is idempotent? (Last I heard, senior engineers were not... Continue Reading →

Timeouts are important. 

But what are timeouts? Timeouts are a set of configurations that a developer provides when one service calls another service.  Broadly, there are two types of timeouts. Connection Timeout  Say, service A is calling service B. Service B has a total of 10 connections and assumes all of them are used. Now, if service A... Continue Reading →

Powered by WordPress.com.

Up ↑