vibecoded mcrouter in rust
rusty-mcrouteris meta protocol compatible only- why: meta wasn't a thing when mcrouter was first made, so it needed classic ascii plus facebook's private binary protocols to do leases, stale-while-revalidate, etc. meta is the open successor that does all of that with one flag-based command set.
- exact
/region/cluster/routing, regional/region/*/fanout and global/*/*/fanout are supported PrefixSelectorRouteselects policies by the longest prefix of the routing key--route-prefixchooses the default route;--send-invalid-route-to-defaultenables fallback for unmatched routing prefixes- see routing prefixes for config and execution details
rusty-mcrouter-protocol/— the meta protocol codec: semantic request/reply types, frontend encoder/decoder, backend encoder/decoderrusty-mcrouter-config/— parses mcrouter-style json/jsonc config (pools + routes).rusty-mcrouter-observability-primitives/— std-onlyCounter,Gauge, andEventSink<T>shared by fact owners.rusty-mcrouter-backend/— the backend leg: memcached client, destinations, health tracking, and backend metrics.rusty-mcrouter-core/— routing: root prefix selection, pool hashing, failover and destination routes, built from config.rusty-mcrouter-proxy/— the frontend leg: client connections, proxy workers, and proxy-thread orchestration.rusty-mcrouter-observability/— event logging, metrics aggregation, and the/metricsendpoint.rusty-mcrouter/— the binary. cli, options, and construct-and-wire startup only.docs/— design / architecture / mcrouter notes (seedocs/README.md)