
New releaseSep 18, 2026
brpc v1.18.0
Framework C++ RPC de qualité industrielle pour construire des systèmes distribués haute performance, prenant en charge plusieurs protocoles (HTTP, gRPC, Redis, Thrift) avec équilibrage de charge intégré, services de nommage et consensus RAFT.

bRPC est un framework RPC de qualité industrielle utilisant le langage C++, souvent employé dans les systèmes haute performance comme la recherche, le stockage, l'apprentissage automatique, la publicité, la recommandation, etc.
"bRPC" signifie "better RPC".
Vous pouvez l'utiliser pour :
- Construire un serveur capable de communiquer via plusieurs protocoles (sur le même port), ou accéder à toutes sortes de services
- restful http/https, h2/gRPC. Utiliser http/h2 dans bRPC est bien plus convivial que libcurl. Accédez aux protocoles basés sur protobuf avec HTTP/h2+json, probablement depuis un autre langage.
- redis et memcached, thread-safe, plus conviviaux et performants que les clients officiels.
- rtmp/flv/hls, pour construire des services de streaming.
- hadoop_rpc (peut être open-sourcé)
- support rdma
- support thrift, thread-safe, plus convivial et performant que les clients officiels.
- toutes sortes de protocoles utilisés chez Baidu : baidu_std, streaming_rpc, hulu_pbrpc, sofa_pbrpc, nova_pbrpc, public_pbrpc, ubrpc et ceux basés sur nshead.
- Construire des services distribués HA en utilisant une implémentation de qualité industrielle de l'algorithme de consensus RAFT qui est open-sourcé chez braft
- Les serveurs peuvent gérer les requêtes de manière synchrone ou asynchrone.
- Les clients peuvent accéder aux serveurs de manière synchrone, asynchrone, semi-synchrone, ou utiliser les combo channels pour simplifier déclarativement les accès partitionnés ou parallèles.
- Déboguer les services via http, et exécuter les profileurs cpu, heap et contention.
- Obtenir de meilleure latence et débit.
- Étendre bRPC rapidement avec les protocoles utilisés dans votre organisation, ou personnaliser des composants, y compris les services de nommage (dns, zk, etcd), les équilibreurs de charge (rr, aléatoire, hachage cohérent)
Essayez-le !
- Lisez la vue d'ensemble pour savoir où bRPC peut être utilisé et ses avantages.
- Lisez le guide de démarrage pour les étapes de construction et jouez avec les exemples.
- Documentation :
- Performance benchmark
- bvar
- bthread
- Client
- Server
- Builtin Services
- Tools
- Others
- IOBuf
- Streaming Log
- FlatMap
- Coroutine
- Circuit Breaker
- RDMA
- Bazel Support
- Wireshark baidu_std dissector plugin
- bRPC introduction (matériel de formation)
- A tutorial on building large-scale services (matériel de formation)
- bRPC internal (matériel de formation)
- RPC in depth
- Use cases
Contribuer au code
Veuillez vous référer ici.
Retour d'information et participation
- Signalez des bogues, posez des questions ou donnez des suggestions via Github Issues
- Abonnez-vous à la liste de diffusion ([email protected]) pour rester informé du projet
Code de conduite
Nous suivons le code de conduite de la Fondation Apache Software, veuillez vous y référer ici Lien