3 ms·
You might be interested in Gazette (https://github.com/gazette/core https://github.com/gazette/core). It presents durable, append-only, transactional byte strea
by jgraettinger1 7y ago
You might be interested in Gazette (https://github.com/gazette/core https://github.com/gazette/core). It presents durable, append-only, transactional byte streams ("journals") while delegating all actual storage to S3/GCS/Azure etc. Brokers themselves are fully ephemeral. Written journal content ends up in predictably-named "fragments" in a configured bucket path, where each fragment holds only raw written bytes (eg, if you write JSONL messages, your fragments are also just JSONL).
The broker is pure Go, and Etcd is used for distributed consensus. The project has been around for years (as closed source), but still lacks a bunch of polish as an open-source offering. Working on that...
- atombender 7y agoThis looks a lot like what I've been thinking about lately (see my other comments in this thread). I will have to check this out, thanks!
- Smerity 7y agoHaving read it I love the approach - it's very similar to how we handled data at Common Crawl / Web Archive (WARC) files / inspired by MapReduce + object storage interactions. I'll keep it in mind for the next opportunity :)