-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Proposal to use Souin as cache system core to tyk #3583
Comments
Hi! Happy to discuss it! |
Hi @buger thanks for taking time to discuss about that. I found the Tyk caching section here but it doesn't seem to be configurable in depth. With Souin you can configure the cache to store XX seconds per URL regex x headers combo. To talk about the technical implementation, I just have to write the plugin file (such as an adapter). You can find examples inside the Souin plugins directory. And we won't have to duplicate any code. By implementing your interface, I should be able to link Souin as Tyk plugin/middleware. Do you think is it worth it to invest time to develop a poc? |
Hi @buger, I can confirm that an audit is planned for the Souin application soon. |
I'm not quite sure then what is expected from our side here :) If you're going to write some Tyk plugin which makes it talk with Souin will be great (we have support for Go plugins, so I guess smth like Caddy have should work https://tyk.io/docs/plugins/supported-languages/golang/). And since it does not touch main Tyk codebase, I do not see any blockers here. After we for sure can add it to our documentation, as one of the options for caching. And maybe do some mutual marcoms campaign. If you want to chat more in details, feel free to reach me at leo@tyk.io |
Thanks for your feedback. It sounds great, I'll try to write a poc asap. |
@buger the first implementation of Souin as tyk middleware is available here : https://github.com/Darkweak/Souin/tree/master/plugins/tyk 🎉 |
Hi @darkweak, |
Hello @andyo-tyk, that would be awesome. |
@andyo-tyk Is it possible to discuss with the Tyk developer team about some plugin loading/behavior issues? |
What does Souin support ?
It's RFC compatible, supporting Vary, request coalescing and other specifications related to the RFC-7234.
It also supports the Cache-Status HTTP response header.
And the Ykeys cache invalidation support like Varnish will be merge this week.
It supports Olric as embedded mode and client mode to be able to store the cache through a distributed system. And for those who don't need a distributed storage system, it comes with the Badger storage system support (once the ykeys will be merge on master).
At the moment it works out of the box, as caddy module and as træfik unofficial plugin.
Finally I'll maintain Souin with the help of existing contributors, and I'm in contact with some pentesters to make an audit on this cache system to ensure this is safe for production.
I think it won't take more than 1 week to write a PoC and submit a review for this if you think it could be a good feature.
Open to discuss with you about it.
The text was updated successfully, but these errors were encountered: