Author Archives: Abhishek

About Abhishek

Loves Java EE, distributed KV stores and messaging systems. Frequently blogs at abhirockzz.wordpress.com as well as simplydistributed.wordpress.com. Oh, I have also authored a few (mini) books, articles, Refcards etc. :-)

Redis tech tip #1

In order to delete members from your Redis Geo-spatial collection, you can use ZREM (underneath the hood, the data is stored in a sorted set) Add a few (Indian) cities GEOADD IndianCities 28.6108127 77.2060241 NewDelhi ​GEOADD IndianCities 12.9715987 77.5945627 Bangalore GEOADD IndianCities 13.0826802 80.2707184 … Continue reading

Posted in nosql, redis | Tagged , , , | Leave a comment

NATS & Kafka: random notes

This is not NATS vs Kafka by any means – just jotting down some info. NATS recently joined CNCF (which host projects like Kubernetes, Prometheus etc. – look at the dominance of Golang here!) and that’s when it caught my attention … Continue reading

Posted in Distributed systems, Kafka, messaging | Tagged , , , | Leave a comment

NATS – quick start with Docker

Here is a hello-world example (on Github) for getting started with natsio – a distributed messaging server written in Go It consists of the following components which are managed via Docker Compose NATS server (of course) a Java producer/publisher a Go consumer/subscriber … Continue reading

Posted in Distributed systems, messaging | Tagged , , , , | Leave a comment

Session @ Oracle Code San Francisco 2017

Here are the details for my talk @ Oracle Code (a track at JavaOne 2017) – Streaming Solutions for Real time problems (Stream Processing solutions using Apache Kafka, Kafka Streams and Redis) Code (Github) – https://github.com/abhirockzz/accs-ehcs-stream-processing Video Slides Streaming Solutions for … Continue reading

Posted in Distributed systems, Kafka | Tagged , , , , , , , , , | Leave a comment

Debezium test drive

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

Posted in Distributed systems, Kafka | Tagged , , , , , , | 1 Comment

Kafka & Websocket

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!

Posted in Distributed systems, Kafka | Tagged , , | Leave a comment

Kafka producer and partitions

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

Posted in Distributed systems, Kafka | Tagged , , | Leave a comment

Kafka Streams state stores…

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

Posted in Distributed systems, Kafka | Tagged , , , , | 1 Comment

Docker-ized Kafka Streams applications

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!

Posted in Distributed systems, Kafka | Tagged , , , , | Leave a comment

Kafka Streams based application

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

Posted in Distributed systems, Kafka | Tagged , , , | Leave a comment