Production-deployed durable write-ahead buffer in Rust (v1.3.1). Fire a record at a local Unix socket, get a durable fsync'd ack in microseconds, then let the daemon drain records to your database in batches — turning N per-record commits into one server-side commit. An acked record is on disk and replays after a crash; the daemon never returns a false ack. v1 wire protocol and Rust API frozen under SemVer.
| .dockerignore | |
| .gitattributes | |
| .github | |
| .gitignore | |
| CHANGELOG.md | |
| CONTRIBUTING.md | |
| Cargo.lock | |
| Cargo.toml | |
| LICENSE | |
| README.md | |
| SECURITY.md | |
| book.toml | |
| crates | |
| demo | |
| demos | |
| deny.toml | |
| deploy | |
| docs | |
| fuzz | |
| scripts |
A durable, high-throughput write buffer for Rust.
**Fire a record at a local socket, get a durable ack in microseconds, and let
your database catch up in bulk.** weir writes each record to a CRC32-checksummed
write-ahead buffer, fsyncs it according to the durability tier you ask for, acks
the producer, then drains records to your sink in batches — turning N per-record
commits into 1. An ack is never a false ack: an acked record is on disk and
~69 µs Buffered (non-durable) ack p50 · ~364 µs durable Sync ack p50 ·
~2,550 Sync RPS · ~58,600 RPS at saturation (Buffered, ~64 threads)
(indicative — single box, sandboxed CI runners; reproduce on your own hardware, see benchmarks) ·
5 built-in sinks (4 in a default build; clickhouse opt-in) · v1 wire + Rust API frozen under SemVer
▶ Try the demo — a self-contained, browser-only
simulation of the pipeline: push records, flip the durability tier, crash the
daemon mid-flight, and watch unconfirmed segments replay, side by side with a
naive insert-per-record baseline. No build step — open demo/index.html in any
browser. (Hosted version coming with the public launch.)
> Status — 1.x (stable). The v1 wire protocol and public Rust API (weir-core,
> weir-client, weir-sink-sdk, weir-wab) are frozen under
> language-neutral conformance suite pinning the wire
> format for non-Rust implementers. The WAB on-disk format is stable and
> unconfirmed segments replay on restart. Built-in sinks: noop, http,