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

[REQUEST] Consider using DragonflyDB and/or KeyDB instead of Redis #1027

Open
nickchomey opened this issue Nov 3, 2023 · 2 comments
Open

Comments

@nickchomey
Copy link

nickchomey commented Nov 3, 2023

Is your feature request related to a problem? Please describe.
There seems to be a lot of complexity in Soketi related to doing Replicaiton - you have various mechanisms like Cluster, PM2, Redis etc... and documentation about when to use which one. It seems the source of this complexity is that Redis is only single threaded - I presume this is the reason that it is recommended to scale out horizontally rather than vertically.

Describe the solution you'd like
Cluster and Redis could be merged into one mechanism if DragonflyDB or KeyDB are used instead of Redis. They are multithreaded Redis drop-in replacements, which would automatically give considerably more performance with a single instance. So, implementing either would solve whatever problem is being addressed by the PR to remove Cluster #705.

KeyDB is owned/backed by Snapchat, while Dragonfly seems to have VC backing of some sort.

KeyDB has active-active/multi-master replication, which would be ideal. However, its development pace seems to have slowed down a lot and they have not been good with communication - particularly with regards to addressing major and persisting bugs.

Conversely, DragonflyDB is very actively developed and the team is very communicative. Replication would be more cumbersome than KeyDB, as it uses a standard Active-Replica mechanism. But that's the same is standard Redis, and can be alleviated by using Redis Sentinel which is already built-into Soketi, to better manage the replication, leader election with automatic failovers.

Or, given that they're both drop-in replacements for Redis, maybe either could be used through some configuration setting.

Copy link

codeautopilot bot commented Nov 3, 2023

Disclaimer: This comment was entirely generated using AI. Be aware that the information provided may be incorrect.

Your organization has reached the subscribed usage limit. Cannot process the task. You can upgrade your plan at https://www.codeautopilot.com/#pricing


Current plan usage: 159.51%


Have feedback or need help?

Discord
Documentation
support@codeautopilot.com

@escamoteur
Copy link

shouldn't you just be able to use them instead of redis? they should be fully compatible?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants