Category Archives: Distributed systems
Debezium is an open source, distributed change data capture system built on top of Apache Kafka. I tried it out and the project is available on Github Setup Details are in the README. It uses the Debezium tutorial as a … Continue reading
For those who are interested in an example of Kafka working with the (Java EE) Websocket API, please check out this blog . There is an associated Github project as well Cheers!
There are only a few possible ways to specify partitions while using the Kafka Producer API Just specify it in the ProducerRecord itself If key is not null, (by default) Kafka will hash your key and calculate the partition If key … Continue reading
This blog explores some common aspects of state stores in Kafka Streams… Default state store By default, Kafka Streams uses the RocksDB as it’s default state store In-memory or persistent ? This parameter of the state store is configurable. RocksDB can … Continue reading
Here is another example of a Kafka Streams based application.. this time, it’s about running it in Docker containers – spawn more containers to distribute the processing load. More details in the README Cheers!
A Kafka Streams sample application is available on Github… This is a microservice (packaged in form of an Uber JAR) which uses the Kafka Streams Processor (low level) API to calculate the Cumulative Moving Average of the CPU metrics of each machine … Continue reading
If you use the groupByKey function on a KStream without specifying a Serdes, the (one configured in the StreamsConfig will be used by default e.g. in the below snippet, it’s Serdes.String(). As a result, you will face a ClassCastExcpetion in case you execute … Continue reading
Here is a blog I posted on the Oracle Cloud Developer Solutions portal. This is the first of a two-part series which shows asynchronous messaging b/w microservices with the help of a simple example (application) Technical components Oracle Cloud Oracle Compute … Continue reading
Apache Curator provides different types of distributed locks such as a basic one, re-entrant lock, re-entrant read write lock etc. In this blog we look at one such lock implementation (an InterProcessMutex ) its API how it simulates the tryLock … Continue reading
Partitions are the key to scalability attributes of Kafka. Developers can also implement custom partitioning algorithm to override the default partition assignment behavior. This post will briefly cover Partitions in general Data distribution, default partitioning, and Example of custom partitioning … Continue reading