← Back to all sparks
A

Apache bRPC

DEVOPS
Velocity0.0

Industrial-grade RPC framework for building distributed services

Apache bRPC keeps widening what it can talk to and what it can run on.

rpc-frameworkrdmaprotocol-supportarchitecture-supportperformance
Current state
bRPC ships a feature release roughly every three months with a consistent shape: a handful of protocol or transport capabilities, a long bugfix list, and steady work on RDMA. Recent releases added native Redis Cluster channel support, a transport layer for protocol extensions, RDMA ECE, SingleIOBuf for FlatBuffers serialisation, RISC-V architecture support, Couchbase CRUD operations, and rate-limited backup request policies. Protobuf compatibility is refreshed almost every cycle, now through v34.
Where it's heading
Two directions run together. One is reach: more architectures, more backends, more wire protocols, so bRPC can be the single client library inside a heterogeneous fleet. The other is the low-latency path, where RDMA has received polling mode, dynamic block pool expansion and now ECE support across four consecutive releases. The debugging work — bthread naming, configurable stack trace signals, AddressSanitizer support — suggests the users pushing hardest are the ones running it at scale.
Prediction
RDMA has drawn work in every recent release and is the most likely place for the next feature, alongside another Protobuf compatibility refresh.

Recent moves

  1. 2mo ago

    SingleIOBuf for FlatBuffers, native Redis Cluster channel, RDMA ECE

    The clearest expression of the reach-plus-latency pattern in one release: a native Redis Cluster channel and a pluggable transport layer widen what bRPC connects to, while SingleIOBuf and RDMA ECE work the fast path. Use-after-free and ARM memory visibility fixes make up the correctness half.

    View source ↗
  2. 6mo ago

    RISC-V support, Couchbase CRUD and TLS key logging

    RISC-V support extends the architecture reach that ARM fixes have been tracking, and Couchbase joins the list of backends addressable through bRPC. TLS key logging via SSLKEYLOGFILE and bthread naming are aimed at operators debugging production traffic.

    View source ↗
  3. 9mo ago

    Bugfix release: socket recovery, flatmap resize loop, signal tracing

    An entirely corrective release — an infinite loop in flatmap resizing, signal trace targeting the wrong thread, an aarch64 bthread_id failure. Consequential fixes, but no change in what bRPC does.

    View source ↗
  4. 0y ago

    CVE-2025-54472 fixed in the Redis parser; inline Redis protocol added

    A remote denial of service in the Redis parser is fixed, and inline Redis protocol support arrives in the same release. Both touch the Redis path that the native cluster channel later built on.

    View source ↗
  5. 1y ago

    RPC checksums and RDMA polling mode

    RDMA polling mode opens the low-latency thread that ECE support later continued, and RPC checksums add integrity checking on the wire. The bugfix list is dominated by bthread lifecycle and timer shutdown races.

    View source ↗
  6. 1y ago

    ProtoJson payloads, dynamic concurrency, AddressSanitizer

    Payload format flexibility for baidu-std and HTTP bodies plus runtime-adjustable method concurrency. AddressSanitizer support is the quieter change and shows up in the memory-safety fixes that follow in later releases.

    View source ↗