
New releaseSep 18, 2026
brpc v1.18.0
Industrietaugliches C++ RPC-Framework zur Erstellung von Hochleistungsverteilten Systemen, das mehrere Protokolle unterstützt (HTTP, gRPC, Redis, Thrift) mit integriertem Lastausgleich, Namensdiensten und RAFT-Konsens.

bRPC ist ein industrietaugliches RPC-Framework in C++, das häufig in Hochleistungssystemen wie Suche, Speicher, maschinelles Lernen, Werbung, Empfehlungen usw. eingesetzt wird.
„bRPC“ steht für „better RPC“.
Sie können es verwenden, um:
- Einen Server zu bauen, der in mehreren Protokollen (auf demselben Port) kommunizieren kann, oder um auf alle Arten von Diensten zuzugreifen
- Restful HTTP/HTTPS, h2/gRPC. Die Verwendung von HTTP/h2 in bRPC ist viel benutzerfreundlicher als libcurl. Zugriff auf protobuf-basierte Protokolle mit HTTP/h2+json, möglicherweise aus einer anderen Sprache.
- Redis und Memcached, threadsicher, benutzerfreundlicher und leistungsfähiger als die offiziellen Clients.
- RTMP/FLV/HLS, zum Erstellen von Streaming-Diensten.
- Hadoop_RPC (kann noch quelloffen gemacht werden)
- RDMA-Unterstützung
- Thrift-Unterstützung, threadsicher, benutzerfreundlicher und leistungsfähiger als die offiziellen Clients.
- Alle Arten von Protokollen, die bei Baidu verwendet werden: baidu_std, streaming_rpc, hulu_pbrpc, sofa_pbrpc, nova_pbrpc, public_pbrpc, ubrpc und nshead-basierte.
- Bauen Sie HA-verteilte Dienste mit einer industrietauglichen Implementierung des RAFT-Konsensalgorithmus, der als braft quelloffen ist.
- Server können Anfragen synchron oder asynchron bearbeiten.
- Clients können auf Server synchron, asynchron, semi-synchron zugreifen oder Combo-Kanäle verwenden, um shardierte oder parallele Zugriffe deklarativ zu vereinfachen.
- Debuggen Sie Dienste via HTTP und führen Sie CPU, Heap und Contention-Profiler aus.
- Erzielen Sie bessere Latenz und Durchsatz.
- Erweitern Sie bRPC schnell mit den in Ihrer Organisation verwendeten Protokollen oder passen Sie Komponenten an, einschließlich Naming Services (DNS, ZK, etcd), Lastverteiler (RR, Random, Consistent Hashing).