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 server-assisted client side caching #14417

Open
corydolphin opened this issue Dec 15, 2020 · 5 comments
Open

Redis server-assisted client side caching #14417

corydolphin opened this issue Dec 15, 2020 · 5 comments
Labels
area/redis design proposal Needs design doc/proposal before implementation help wanted Needs help!

Comments

@corydolphin
Copy link

Feature Request: Redis server-assisted client side caching

Envoy is an incredible tool that we've found critical for proxying redis connections, with the release of Redis 6, there seems to be an opportunity to take Envoy's redis capabilities to the next level by acting as an even faster local cache to Redis through the support of server-assisted client caching. Adding this capability to Envoy will make it simple to increase cache locality for many applications with a small, hot set of data, making it straightforward to build efficient sharded applications by handling asynchronous cache invalidation.

There would need to be substantial thought in terms of the memory profile, since it will shift Envoy from being a lighterweight proxy to also a relatively "thick" proxy-cache. I could imagine users tending to run a dedicated Envoy with a larger memory allocation separate from the lighterweight proxy variant for the purposes of isolation.

Regardless -- I really appreciate the work that Lyft, Matt Klein and all other contributors have put into this project, thank you all for the hard work 🙌

@corydolphin corydolphin added enhancement Feature requests. Not bugs or questions. triage Issue requires triage labels Dec 15, 2020
@mattklein123 mattklein123 added area/redis design proposal Needs design doc/proposal before implementation help wanted Needs help! and removed enhancement Feature requests. Not bugs or questions. triage Issue requires triage labels Dec 15, 2020
@mattklein123
Copy link
Member

This sounds interesting. Definitely needs a design proposal. cc @envoyproxy/redis-dev

@writeBugsOnline
Copy link

writeBugsOnline commented Jan 18, 2021

Hello! I have been working on it for sereveral days.
I tried to use lua script in envoy to request a outside redis controller whitch is implemented by go.
If envoy can enbed a internal redis controller and pirovide a lua srcipt handle to manipulate it,manty thing would be much easier.

@corydolphin
Copy link
Author

Hey @mattklein123 Wanted to check in and understand what the process usually looks like for new Envoy feature development. Has there ever been a sponsorship model used successfully? We'd be interested in contributing, but do not necessarily have Envoy expertise, so if there are Envoy developers who are lacking funding and interested, there may be an opportunity to collaborate.

Thanks again,
Cory

@mattklein123
Copy link
Member

Has there ever been a sponsorship model used successfully? We'd be interested in contributing, but do not necessarily have Envoy expertise, so if there are Envoy developers who are lacking funding and interested, there may be an opportunity to collaborate.

We don't have anything formal here, but I can probably find someone for you to contract with. Can you reach out to me over email (available on my website) to discuss details?

@stlava
Copy link

stlava commented Apr 26, 2021

I just wanted to check in and see if anyone is actively working on this or has thought about the general design. @ronakts and I would love to collaborate if there is ongoing work, otherwise, we're going to ramp up on this area of the code base and propose a design and work on an implementation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/redis design proposal Needs design doc/proposal before implementation help wanted Needs help!
Projects
None yet
Development

No branches or pull requests

4 participants