Comments (9)
sorry for my late response, I will send a PR for this design doc soon.
@Akagi201 thanks for the input. I am open to any redis drivers.
from libkv.
Hi @0xBAADF00D and @hsinhoyeh,
This repository seems abandoned for now (I was one of the maintainers). In an attempt to get it back at a "working" state I merged some of the contributions and patches (with the redis store) onto my fork for now. I plan to carry more patches that were submitted here and I'm almost done with a new etcdv3 client implementation (which should fix a few issues encountered on traefik as well). Not sure people will switch to the fork to be honest, not a fan of maintaining a fork either, but I'll maintain it on my side. Feel free to submit anything onto this fork and I'll take the time to review and merge.
from libkv.
@hsinhoyeh Thanks, it's a great proposal.
About the lock it's actually the same implementation than etcd's lock so the code will be quite trivial as it will follow the same pattern. (even though apparently, the native go client for redis supports Distributed Locking out of the box)
As for the lua scripts I'm not familiar enough with redis to see how this could help in the case of DeleteTree
/AtomicPut
or AtomicDelete
. Would be great not to go outside of what the native go client for redis is offering. If this is indeed an issue, we can see how to use eval
later on.
Also there is the remaining question of which one of the existing redis clients for golang is going to be used.
Once we know the one we'll use (at a first glance, I would lean towards go-redis/redis
), I think there are enough elements in this proposal to put up a PR together. Most of the tradeoffs have been identified with this proposal and we can try to fit the redis backend onto the actual set of tests.
/cc @runcom (cc'ing you as you were the author of the initial Proposal, let us know what you think and if there is any detail missing)
from libkv.
@hsinhoyeh How about this redis driver? https://github.com/mediocregopher/radix.v2 I use this driver a lot on my projects. The code structure is better than redis.v3
from libkv.
hi guys so sorry for the delay. I have drafted out implementation for this proposal.
please leave comments and suggestions, thanks
from libkv.
Hi @abronan @runcom @Akagi201 @hsinhoyeh
When this feature will be ready ? (Traefik use this lib for the Key/Value store) and it could be interresting to have Redis as Key/Value store rather than Consul or other "big monster" alternatives.
Redis is very smart and simple to install / configure
from libkv.
@0xBAADF00D It has been a while that this repo maintainers are not show up for reviewing and commenting. any suggestions?
from libkv.
@hsinhoyeh Nice implementation, Is it possible to set the database number to use ?
https://redis.io/commands/select
from libkv.
@0xBAADF00D This patch has not addressed this issue yet. But it could work on single instance scenario, not in redis cluster. Need to work on it though.
@abronan thanks your effort to take the responsibility. Let's keep it working
from libkv.
Related Issues (20)
- do libkv support etcd v3? HOT 1
- bug in WatchTree for etcd
- Add function to list all the key-values in the boltdb store HOT 1
- add option to disable quorum for gets with etcd backend HOT 1
- Lock() of Locker interface should probably take a receive-only channel
- In etcd at least, waitLock() ignores an action HOT 1
- A race is possible in etcd's Lock() HOT 1
- Implement a Kubernetes driver
- Panic in older versions of consul
- Active again? HOT 2
- Optionally disable ZooKeeper logging
- Inconsistent reference to license for docs
- When multiple etcd stores are passed to the API. Which one is given preference? HOT 1
- can not get zookeeper path data, node cannot be discovery.
- panic in List() method with boltdb backend
- zookeeper GetW function seems has a atomic error
- possible data race in AddStore()
- implemented a etcd v3 api store HOT 1
- Travis-ci: AMD64 build is failing HOT 1
- Valkeyrie: a maintained fork created by the original author of libkv HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libkv.