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

Support for Redis Cluster via Carmine Library #65

Open
olttwa opened this issue Aug 12, 2022 · 3 comments
Open

Support for Redis Cluster via Carmine Library #65

olttwa opened this issue Aug 12, 2022 · 3 comments
Labels
bug Something isn't working

Comments

@olttwa
Copy link
Member

olttwa commented Aug 12, 2022

Context

Problem

Solution

  • Goose can have a small set of macros for the subset of Redis operations to map keys to the right cluster node. This macro will rewrite Redis calls to follow the cluster protocol of identifying the node and then query it
  • If these macros can be generalised, we can raise a PR to Carmine itself
@olttwa olttwa added the bug Something isn't working label Aug 12, 2022
@olttwa
Copy link
Member Author

olttwa commented Aug 12, 2022

Thanks for bringing this to our notice @jaju @kapilreddy
If you have code/better solution for this, do suggest here

@fr33m0nk
Copy link

fr33m0nk commented Oct 19, 2022

@olttwa You may want to look into RedClaw (Clojure wrapper over Redisson) or Celtuce (Clojure wrapper over Lettuce) or Obiwan (Clojure wrapper over Jedis)
All three support Redis cluster natively. RedClaw and Celtuce also support asynchronous event driven mode of execution unlike Jedis.

@tfidfwastaken
Copy link
Contributor

tfidfwastaken commented Dec 15, 2022

A less drastic solution to replacing the Redis library (as noted in the ADR, most of the other libraries are sorely lacking some commands and features that would also need to be implemented) is to write our own version of the wcar macro that returns a handle to the connection. The functions needed to create our own wcar+ are exposed to the user.

Moreover, Carmine will support Redis Cluster in the next release—it would also be a good time to address the issues with closing connections after we upgrade. So currently, I am of the opinion that we should wait on this issue a bit until Carmine 4.0 is out, and then make a decision.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: To do
Development

No branches or pull requests

3 participants