-
-
Notifications
You must be signed in to change notification settings - Fork 456
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
Twemproxy support #54
Comments
A crazy idea, can we make the BlackPlane feature open to customs pub/sub back-ends like we do with the Serializer or the Logger. |
It is already, since the beginning. BaseBackplane is in Core |
Regarding twemproxy support. I guess in most cases where APIs are not available, the features using those APIs must be disabled and/or fall back to defaults if possible, if proxy is enabled. Should be possible to identify through the redis configuration proxy type? |
Well actually StackExchange.Redis just support Twemproxy so either you have that one or you don't have one at all |
Any gotchas in the implementation of a different pub sub system for CacheManager? |
I know, just saying, CacheManager would have to disable certain features if proxy is enabled and not try to identify features and such. Not planning to implement that soon though.
Just look at the redis based implementation, it is pretty straight forward. Depends on the system you are using and how you want to serialize the messages I guess |
Finally working on adding support for Twemproxy in 1.0.2. |
…UseTwemProxy`,. Added the option to by code, json and xml configuration variants... Added another new config option to set an explicit compatibiliy mode to a certain Redis version (to disable LUA for example). Refactored the redis configuration a little
@TMiNus The following things are not working because it is not supported in that mode:
Lua scripting works, I had to add a switch though, to disable preloading of the lua scripts. I cannot preload them again because of the not supported If Lua is not available though, Also, I cannot determine the version of Redis running behind Twemproxy which makes it impossible to access the available features. So, in case someone has to use Redis 2.4 for example (which doesn't have Lua support), they can set a new property via configuration Overall I'm pretty happy with the implementation. |
@MichaCo Awesome commit :) I have reviewed the commit and the code and I am very happy with the final result too, it seems pretty close to what I did back in the day, although my version was a little more hacky You deserve a 🥇 Keep the good work!!. We can close this ticket. I will report any issues in a new ticket :) |
I am trying to add twemproxy support for the library but I have hit a wall because the Servers API from StackExchange.Redis is not available if the proxy option is on and CacheManager relies heavily on this API for example to detect the features available in the particular endpoint (lua, etc..). Also the pub/sub feature of Redis is not supported so the backplane cannot be set :(
The text was updated successfully, but these errors were encountered: