Dynomite and RocksDB running on Docker

Dynomite is a kick ass cluster/proxy solution that provides high availability and strong consistent to databases. Dynomite was created and battle tested by Netflix using Memcached and Redis as primary store backend.

RocksDB it's a Facebook Embedded Key/Value store which is growing up a lot because of his incredible high performance and low latency.

For this blog post, I will show some simple project I create for the developers to get started with Dynomite and RocksDB together. This project uses docker and creates a Dynomite cluster using RocksDB as backend.

Let's get started...




Dynomite Super Powers

Dynomite is interesting for many reasons but one very simple and limited way to see Dynomite as a supercharged Redis with batteries included. Why not use ElastiCache(Amazon Redis managed service) well because first of all you should think twice before get fully coupled to Amazon or any public cloud vendor.  In the beginning, it might look like a good idea since you have all sorts of services that are integrated but there are many limitations and as you get a vendor LOCK IN you won't be able to get better and cheaper competitors offers and also it can be less available. I guess everybody remembers last S3 outage almost tear down the whole with it. If you have a portable solution you can run your solution in other cloud vendors like Google or Azure. Solutions like Spinnaker can help you a lot with that but they won't help you if your persistence system is fully coupled to one vendor.

IMHO because Dynomite is based on Amazon Dynamo paper still has superior clustering solution them original Redis cluster(Master/Replica) and elastiCacheit's pretty much the same cluster as OSS Redis Cluster but managed by AWS.

Another more comprehensive and correct way to see Dynomite is looking as a Generic Supercharger because as long as you have something that talks Redis protocol you can benefit from all Redis ecosystem and Dynomite as well.  There is a very nice project which helps on that front called ARDB.

Dynomite-Docker-RocksDB project

Basically this a very simple and tiny project. Where I have some bash scripts to create Dynomite clusters using ARDB and RocksDB as persistent backend. Let's see how to get started. First of all, you need to make sure you have Docker installed on your Linux.

Cheers,
Diego Pacheco


Popular posts from this blog

Kafka Streams with Java 15

Rust and Java Interoperability

HMAC in Java