4 ms·
Foyer is a great open source contribution from RisingWave We built a S3 read-through cache service for s2.dev so that multiple clients could share a Foyer hybr
by shikhar 1y ago
Foyer is a great open source contribution from RisingWave
We built a S3 read-through cache service for s2.dev so that multiple clients could share a Foyer hybrid cache with key affinity, https://github.com/s2-streamstore/cachey https://github.com/s2-streamstore/cachey
- erikcw 1y agoThis looks really useful! Am I correct that there isn’t an S3 compatible API, just the “fetch” API? Being able to set an S3 client’s endpoint to proxy traffic straight through this would be quite useful.
- shikhar 1y agoYes, currently it has its own /fetch endpoint that then makes S3 GET(s) internally. One potential gotcha depending on how you are using it, an exact byte "Range" header is always required so that the request can be mapped to page-aligned byte range requests on the S3 object. But with that constraint, it is feasible to add an S3 shim. It is also possible to stop requiring the header, but I think it would complicate the design around coalescing reads – the layer above foyer would have to track concurrent requests to the same object.