Retour aux mises à jour
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.

Partager

中文版

Linux Build Status MacOs Build Status

brpc logo (light) brpc logo (dark)

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 !

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

Catégories