アップデート一覧に戻る
New releaseSep 18, 2026

brpc v1.18.0

高性能な分散システムを構築するための産業グレードのC++ RPCフレームワーク。複数のプロトコル(HTTP、gRPC、Redis、Thrift)をサポートし、ロードバランシング、ネーミングサービス、RAFTコンセンサスを内蔵。

共有

中文版

Linux Build Status MacOs Build Status

brpc logo (light) brpc logo (dark)

bRPC は、C++言語を使用した産業グレードのRPCフレームワークであり、検索、ストレージ、機械学習、広告、レコメンデーションなどの高性能システムでよく使用されています。

"bRPC" は "better RPC" を意味します。

以下の用途に使用できます:

  • 複数のプロトコル(同一ポート上)で通信可能なサーバーを構築するか、あらゆる種類のサービスにアクセスします
    • restful http/https、h2/gRPC。bRPCでのhttp/h2の使用はlibcurlよりもはるかに使いやすいです。HTTP/h2+jsonを使用してprotobufベースのプロトコルにアクセスします(おそらく別の言語から)。
    • redis および memcached。スレッドセーフで、公式クライアントよりも使いやすく高性能です。
    • rtmp/flv/hlsストリーミングサービスの構築用。
    • hadoop_rpc(オープンソース化予定)
    • rdma サポート
    • thrift サポート。スレッドセーフで、公式クライアントよりも使いやすく高性能です。
    • Baiduで使用されるあらゆる種類のプロトコル:baidu_stdstreaming_rpc、hulu_pbrpc、sofa_pbrpc、nova_pbrpc、public_pbrpc、ubrpc、nsheadベースのもの。
    • braftでオープンソース化されている産業グレードのRAFT合意アルゴリズムの実装を使用して、HA分散サービスを構築します。
  • サーバーはリクエストを同期的または非同期に処理できます。
  • クライアントはサーバーに同期的非同期的半同期的にアクセスしたり、コンボチャンネルを使用してシャーディングや並列アクセスを宣言的に簡素化したりできます。
  • http経由でサービスをデバッグし、CPUヒープ競合プロファイラを実行します。
  • より良いレイテンシとスループットを実現します。
  • 組織で使用されているプロトコルを素早くbRPCに拡張したり、ネーミングサービス(dns、zk、etcd)、ロードバランサー(rr、ランダム、コンシステントハッシュ)などのコンポーネントをカスタマイズします。

試してみよう!

コードへの貢献

こちらを参照してください。

フィードバックと参加方法

  • バグ報告、質問、提案はGitHub Issuesまで
  • メーリングリスト([email protected])に登録してプロジェクトの最新情報を入手

行動規範

Apache Software Foundationの行動規範に従います。詳細はこちらを参照してください。

カテゴリ