Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Redis/RedisCluster store #9

Closed
runcom opened this issue Jun 12, 2015 · 15 comments
Closed

Redis/RedisCluster store #9

runcom opened this issue Jun 12, 2015 · 15 comments

Comments

@runcom
Copy link
Contributor

runcom commented Jun 12, 2015

I'm working on implementing Redis/RedisCluster here in libkv, I just need to understand if this would be something you like/need so I can go ahead.
Also to discuss whether to support directly RedisCluster via https://godoc.org/gopkg.in/redis.v3#ClusterClient or just the single instance client (I'd go with the cluster)
(even if redis support many data types I think the simple key/value would be ok here)

@abronan
Copy link
Contributor

abronan commented Jun 12, 2015

This can be definitely useful :)

The only issue I see so far with Redis is that it does not support Compare and Swap operations, so it would only implement a subset of the interface. Although we can probably mimic a CAS like operator with some other call of the cluster client.

I'm not against it if the lack of operation (if any) is properly handled in the lib.

@aluzzardi Thoughts?

@aluzzardi
Copy link
Contributor

I can see it being useful - although before jumping in I'd like to see at least a few people interested on it.

@runcom How about opening an issue on docker/swarm asking who'd be interested in a redis backend for discovery, leader election and storage?

My main concern is that, compared to the others, redis is not strongly persistent. We are going to use libkv to store persistant data: if redis gets restarted we'll lose data.

@abronan
Copy link
Contributor

abronan commented Jun 12, 2015

+1 👍

@mavenugo
Copy link
Contributor

@aluzzardi @runcom @abronan actually we were also thinking of implementing an eventually consistent data-store backend (redis was my first choice). we can discuss further on this if interested.

@runcom
Copy link
Contributor Author

runcom commented Jun 13, 2015

@aluzzardi redis has an option to store on disk and many redis deployment use it (elasticache on aws for instance) so chances to restart and lose data are small (there aren't)
I'll open an issue in swarm and link here tho

@rbishop
Copy link

rbishop commented Jun 22, 2015

I would like to see this as well!

@vcastellm
Copy link

👍 I'll use it, but not for swarm but for other project

@abronan
Copy link
Contributor

abronan commented Sep 9, 2015

@runcom Still interested in the Redis store implementation? 😃 I saw a few people interested so far.

@runcom
Copy link
Contributor Author

runcom commented Sep 9, 2015

@abronan sure, if there's no rush on this I'll work on it this weekend

@abronan
Copy link
Contributor

abronan commented Sep 9, 2015

Absolutely no rush, take the time needed and we'll review it when it's done if you are still interested in doing it. It is a nice added backend for libkv users though :)

@hsinhoyeh
Copy link

hi,
I think this feature is quiet useful in many applications, do we have any progress update here?
If not, we can have a design doc first, then others, like me, can do the help.

@allencloud
Copy link
Contributor

@rbishop Great!
+1

@abronan
Copy link
Contributor

abronan commented Mar 1, 2016

Hi @hsinhoyeh, no update so far, feel free to open a new issue with a proposal and you feel like tackling this integration :)

What's cool is that we have a test suite that could help validate the behavior of the store but redis wouldn't have to support all the calls I guess or maybe it can but we can discuss this during the design phase (for Locks and CAS and/or watches).

@hsinhoyeh
Copy link

@abronan I have created a short design doc in issue #116 , feel free to add comments. thanks

@abronan
Copy link
Contributor

abronan commented Jul 19, 2016

Closing in favor of #116

@abronan abronan closed this as completed Jul 19, 2016
pritesh added a commit to pritesh/libkv that referenced this issue Nov 14, 2017
libkv: if http prefix is present, don't add it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants