Open in app

Sign In

Write

Sign In

Adam Kotwasinski
Adam Kotwasinski

45 Followers

Home

About

Jul 29, 2022

Kafka onboarding primer

This article quickly summarizes what is Kafka and what features it brings. It is intended as an initial onboarding document for teams that might be interested in Kafka as their data streaming / messaging solution. Overview Kafka is a streaming solution for sending and receiving records. The records are stored…

Kafka

9 min read

Kafka onboarding primer
Kafka onboarding primer
Kafka

9 min read


Jul 26, 2022

Kafka as a remote array — binary search example

Very often when developers come to me asking to onboard a new Kafka usecase, they believe that Kafka can immediately solve all the problems. While it is indeed an excellent project, it can also be somewhat simplified to a simple abstraction of “remote record array” with several enrichments (high performance…

Kafka

2 min read

Kafka as a remote array — binary search example
Kafka as a remote array — binary search example
Kafka

2 min read


Jul 22, 2022

Semantic versioning of shared libraries

Semantic versioning allows for better communication of what kind of changes have occurred between releases. Following this framework allows developers to reduce risk when upgrading their library dependency. If we want to semantically version a shared library, we first need to document actually what does “API / functionality” mean for…

Programming

4 min read

Programming

4 min read


Sep 13, 2021

Kafka mesh filter in Envoy

Following up with ideas discussed in original Kafka-Envoy protocol filter issue, I finished initial development for Kafka-mesh filter in Envoy. It is now available in contrib builds. Right now, we allow downstream producers to send records to Envoy instance, which acts as a proxy for collection of Kafka clusters. The received…

Kafka

5 min read

Kafka mesh filter in Envoy
Kafka mesh filter in Envoy
Kafka

5 min read


Jun 28, 2021

Strategy design pattern in parameterized tests for Java

Parameterized tests in Java allow us to avoid duplication when writing multiple tests. I have found them to be very useful while writing system tests for client libraries, that need to provide very similar behaviour depending while slightly different user input is provided. Parameterized tests are very expressive, we could…

Java

4 min read

Java

4 min read


Nov 24, 2020

(deprecated) Optimizing KafkaMirrorMaker2 translated offset resolution for cluster failover scenarios

This article is deprecated as MM2 provides this feature as of Kafka 2.7 (KIP-545). KafkaMirrorMaker2 provides us with a tool to replicate messages from source to target cluster, as well as consumer group offsets. When it comes to consumer group offsets, KMM2 periodically translated offsets to checkpoints topic (named ${prefix}.checkpoints.internal). By…

Kafka

3 min read

Optimizing KafkaMirrorMaker2 translated offset resolution for cluster failover scenarios
Optimizing KafkaMirrorMaker2 translated offset resolution for cluster failover scenarios
Kafka

3 min read


Aug 3, 2020

RabbitMQ (AMQP mostly) and NATS /NATS Streaming comparison

From a (very) high level point-of-view, both products solve the same problem — getting our message bytes from producer to consumer, what allows our architectures to avoid coupling. Let’s take a look at are the similarities and differences provided by these two solutions. RabbitMQ server allows us to send and…

Programming

7 min read

Programming

7 min read


Feb 20, 2020

Deploying Envoy and Kafka to collect broker-level metrics

Envoy 1.13 provides Kafka broker-level filter, that allows us to collect the request/response metric for a given broker. The filter decodes the received requests/responses, and updates the correct metrics — this way we can find out how many requests were received by given broker, how many responses were sent, and…

Software Development

3 min read

Deploying Envoy and Kafka
Deploying Envoy and Kafka
Software Development

3 min read

Adam Kotwasinski

Adam Kotwasinski

45 Followers

Software developer, Java mostly, C & C++ sometimes (https://www.linkedin.com/in/adam-kotwasinski/)

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Text to speech