Hasty Briefsbeta

High-performance read-through cache for object storage

4 hours ago
  • #object-storage
  • #high-performance
  • #cache
  • High-performance read-through cache for object storage with a simple HTTP API.
  • Hybrid memory + disk cache powered by foyer, designed for caching immutable blobs.
  • Works with any S3-compatible backend but has its own /fetch API requiring a precise Range header.
  • Fixed page size of 16 MiB, mapping requested byte ranges to page-aligned lookups.
  • Coalesces concurrent requests for the same page and makes hedged requests to manage tail latency.
  • Can attempt redundant buckets for a given object, with at most 2 buckets attempted per page miss.
  • HEAD|GET /fetch/{kind}/{object} endpoint where 'kind' identifies the bucket set and 'object' is the S3 object key.
  • C0-Bucket header allows specifying bucket preference order; C0-Config header overrides S3 request configuration.
  • Response includes standard HTTP semantics (206 Partial Content, 404 Not Found, etc.) with specific headers like Content-Range and C0-Status.
  • GET /stats returns throughput stats as JSON; GET /metrics returns Prometheus text format metrics.
  • Docker images available with configurable options like memory, disk path, TLS settings, and port.