DO Ideas 2

Inter-droplet memory (KV Store)

Most of the backend system nodes needs to communicate with each other, especially in fault tolerant and scalable solutions.
Most developers achieve it by using Redis, etcd, consul or something like that.
DO can do it in a simpler and better way. You can use any of the currently available opensource solution(etcd, consul, memo,...).
But my main focus is being easy to install and easy to use.
You already introduced Load Balancers which can be done with losts of software solutions, but it is much more simpler to setup and use.
I think same thing is also applicable for a distributed key-value store.
Also, as a developer, I DON'T want to waste my time to search for a solution, then learn how it is installed, how it is used etc.

Usage Scenario:
Let's call it IDMEM(inter droplet memory)
Just like load balancers, I create a IDMEM instance, give it a name and a port to operate.
Then I choose droplets which can use tha IDMEM.
Interaction with IDMEM will be based on REST.
Any droplet can issue a REST request to read data from IDMEM, or write data.
IDMEM will be available for concurrent access and each operation should be simple and atomic like READ, UPDATE, WRITE and DELETE.
Sample REST request:
{
"read": {"key": "counter"},
"write": {"key": "lastOperationTimestamp", "value":12345678}
}

The response will be something like this:
{
"counter": 123,
"lastOperationTimestamp":12345678
}

That's it!

  • Ramazan Polat
  • Sep 11 2018
  • Attach files