[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-71579":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":28,"readmeContent":29,"aiSummary":30,"trendingCount":16,"starSnapshotCount":16,"syncStatus":31,"lastSyncTime":32,"discoverSource":33},71579,"brpc","apache\u002Fbrpc","apache","brpc is an Industrial-grade RPC framework using C++ Language, which is often used in high performance system such as Search, Storage, Machine learning, Advertisement, Recommendation etc. \"brpc\" means \"better RPC\".","https:\u002F\u002Fbrpc.apache.org",null,"C++",17528,4118,783,378,0,8,20,30,24,45,"Apache License 2.0",false,"master",true,[27],"rpc","2026-06-12 02:02:54","[中文版](README_cn.md)\n\n[![Linux Build Status](https:\u002F\u002Fgithub.com\u002Fapache\u002Fbrpc\u002Factions\u002Fworkflows\u002Fci-linux.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fapache\u002Fbrpc\u002Factions\u002Fworkflows\u002Fci-linux.yml)\n[![MacOs Build Status](https:\u002F\u002Fgithub.com\u002Fapache\u002Fbrpc\u002Factions\u002Fworkflows\u002Fci-macos.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fapache\u002Fbrpc\u002Factions\u002Fworkflows\u002Fci-macos.yml)\n\n![brpc logo (light)](docs\u002Fimages\u002Flogo.png#gh-light-mode-only)\n![brpc logo (dark)](docs\u002Fimages\u002Flogo-white.png#gh-dark-mode-only)\n\n[bRPC](https:\u002F\u002Fbrpc.apache.org\u002F) is an Industrial-grade RPC framework using C++ Language, which is often used in  high performance system such as Search, Storage, Machine learning, Advertisement, Recommendation etc.\n\n### \"bRPC\" means \"better RPC\". \n\nYou can use it to:\n* Build a server that can talk in multiple protocols (**on same port**), or access all sorts of services\n  * restful http\u002Fhttps, [h2](https:\u002F\u002Fhttpwg.org\u002Fspecs\u002Frfc9113.html)\u002F[gRPC](https:\u002F\u002Fgrpc.io). using http\u002Fh2 in bRPC is much more friendly than [libcurl](https:\u002F\u002Fcurl.haxx.se\u002Flibcurl\u002F). Access protobuf-based protocols with HTTP\u002Fh2+json, probably from another language.\n  * [redis](docs\u002Fen\u002Fredis_client.md) and [memcached](docs\u002Fen\u002Fmemcache_client.md), thread-safe, more friendly and performant than the official clients.\n  * [rtmp](https:\u002F\u002Fgithub.com\u002Fapache\u002Fbrpc\u002Fblob\u002Fmaster\u002Fsrc\u002Fbrpc\u002Frtmp.h)\u002F[flv](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FFlash_Video)\u002F[hls](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FHTTP_Live_Streaming), for building [streaming services](https:\u002F\u002Fgithub.com\u002Fbrpc\u002Fmedia-server).\n  * hadoop_rpc (may be opensourced)\n  * [rdma](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FRemote_direct_memory_access) support\n  * [thrift](docs\u002Fen\u002Fthrift.md) support,  thread-safe, more friendly and performant than the official clients.\n  * all sorts of protocols used in Baidu: [baidu_std](docs\u002Fen\u002Fbaidu_std.md), [streaming_rpc](docs\u002Fen\u002Fstreaming_rpc.md), hulu_pbrpc, [sofa_pbrpc](https:\u002F\u002Fgithub.com\u002Fbaidu\u002Fsofa-pbrpc), nova_pbrpc, public_pbrpc, ubrpc and nshead-based ones.\n  * Build [HA](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FHigh_availability) distributed services using an industrial-grade implementation of [RAFT consensus algorithm](https:\u002F\u002Fraft.github.io) which is opensourced at [braft](https:\u002F\u002Fgithub.com\u002Fbrpc\u002Fbraft)\n* Servers can handle requests [synchronously](docs\u002Fen\u002Fserver.md) or [asynchronously](docs\u002Fen\u002Fserver.md#asynchronous-service).\n* Clients can access servers [synchronously](docs\u002Fen\u002Fclient.md#synchronus-call), [asynchronously](docs\u002Fen\u002Fclient.md#asynchronous-call), [semi-synchronously](docs\u002Fen\u002Fclient.md#semi-synchronous-call), or use [combo channels](docs\u002Fen\u002Fcombo_channel.md) to simplify sharded or parallel accesses declaratively.\n* Debug services [via http](docs\u002Fen\u002Fbuiltin_service.md), and run  [cpu](docs\u002Fen\u002Fcpu_profiler.md), [heap](docs\u002Fen\u002Fheap_profiler.md) and [contention](docs\u002Fen\u002Fcontention_profiler.md) profilers.\n* Get [better latency and throughput](docs\u002Fen\u002Foverview.md#better-latency-and-throughput).\n* [Extend bRPC](docs\u002Fen\u002Fnew_protocol.md) with the protocols used in your organization quickly, or customize components, including [naming services](docs\u002Fen\u002Fload_balancing.md) (dns, zk, etcd), [load balancers](docs\u002Fen\u002Fload_balancing.md) (rr, random, consistent hashing)\n\n# Try it!\n\n* Read [overview](docs\u002Fen\u002Foverview.md) to know where bRPC can be used and its advantages.\n* Read [getting started](docs\u002Fen\u002Fgetting_started.md) for building steps and play with [examples](https:\u002F\u002Fgithub.com\u002Fapache\u002Fbrpc\u002Ftree\u002Fmaster\u002Fexample\u002F).\n* Docs:\n  * [Performance benchmark](docs\u002Fen\u002Fbenchmark.md)\n  * [bvar](docs\u002Fen\u002Fbvar.md)\n    * [bvar_c++](docs\u002Fen\u002Fbvar_c++.md)\n  * [bthread](docs\u002Fen\u002Fbthread.md)\n    * [bthread or not](docs\u002Fen\u002Fbthread_or_not.md)\n    * [thread-local](docs\u002Fen\u002Fthread_local.md)\n    * [Execution Queue](docs\u002Fen\u002Fexecution_queue.md)\n    * [bthread tracer](docs\u002Fen\u002Fbthread_tracer.md)\n    * [bthread tagged task group](docs\u002Fen\u002Fbthread_tagged_task_group.md)\n  * Client\n    * [Basics](docs\u002Fen\u002Fclient.md)\n    * [Error code](docs\u002Fen\u002Ferror_code.md)\n    * [Combo channels](docs\u002Fen\u002Fcombo_channel.md)\n    * [Access http\u002Fh2](docs\u002Fen\u002Fhttp_client.md)\n    * [Access gRPC](docs\u002Fen\u002Fhttp_derivatives.md#h2grpc)\n    * [Access thrift](docs\u002Fen\u002Fthrift.md#client-accesses-thrift-server)\n    * [Access UB](docs\u002Fen\u002Fub_client.md)\n    * [Streaming RPC](docs\u002Fen\u002Fstreaming_rpc.md)\n    * [Access redis](docs\u002Fen\u002Fredis_client.md)\n    * [Access memcached](docs\u002Fen\u002Fmemcache_client.md)\n    * [Backup request](docs\u002Fen\u002Fbackup_request.md)\n    * [Dummy server](docs\u002Fen\u002Fdummy_server.md)\n  * Server\n    * [Basics](docs\u002Fen\u002Fserver.md)\n    * [Serve http\u002Fh2](docs\u002Fen\u002Fhttp_service.md)\n    * [Serve gRPC](docs\u002Fen\u002Fhttp_derivatives.md#h2grpc)\n    * [Serve thrift](docs\u002Fen\u002Fthrift.md#server-processes-thrift-requests)\n    * [Serve Nshead](docs\u002Fen\u002Fnshead_service.md)\n    * [Debug server issues](docs\u002Fen\u002Fserver_debugging.md)\n    * [Server push](docs\u002Fen\u002Fserver_push.md)\n    * [Avalanche](docs\u002Fen\u002Favalanche.md)\n    * [Auto ConcurrencyLimiter](docs\u002Fen\u002Fauto_concurrency_limiter.md)\n    * [Media Server](https:\u002F\u002Fgithub.com\u002Fbrpc\u002Fmedia-server)\n    * [json2pb](docs\u002Fen\u002Fjson2pb.md)\n  * [Builtin Services](docs\u002Fen\u002Fbuiltin_service.md)\n    * [status](docs\u002Fen\u002Fstatus.md)\n    * [vars](docs\u002Fen\u002Fvars.md)\n    * [connections](docs\u002Fen\u002Fconnections.md)\n    * [flags](docs\u002Fen\u002Fflags.md)\n    * [rpcz](docs\u002Fen\u002Frpcz.md)\n    * [cpu_profiler](docs\u002Fen\u002Fcpu_profiler.md)\n    * [heap_profiler](docs\u002Fen\u002Fheap_profiler.md)\n    * [contention_profiler](docs\u002Fen\u002Fcontention_profiler.md)\n  * Tools\n    * [rpc_press](docs\u002Fen\u002Frpc_press.md)\n    * [rpc_replay](docs\u002Fen\u002Frpc_replay.md)\n    * [rpc_view](docs\u002Fen\u002Frpc_view.md)\n    * [benchmark_http](docs\u002Fen\u002Fbenchmark_http.md)\n    * [parallel_http](docs\u002Fen\u002Fparallel_http.md)\n  * Others\n    * [IOBuf](docs\u002Fen\u002Fiobuf.md)\n    * [Streaming Log](docs\u002Fen\u002Fstreaming_log.md)\n    * [FlatMap](docs\u002Fen\u002Fflatmap.md)\n    * [Coroutine](docs\u002Fen\u002Fcoroutine.md)\n    * [Circuit Breaker](docs\u002Fen\u002Fcircuit_breaker.md)\n    * [RDMA](docs\u002Fen\u002Frdma.md)\n    * [Bazel Support](docs\u002Fen\u002Fbazel_support.md)\n    * [Wireshark baidu_std dissector plugin](docs\u002Fen\u002Fwireshark_baidu_std.md)\n    * [bRPC introduction](docs\u002Fcn\u002Fbrpc_intro.pptx)(training material)\n    * [A tutorial on building large-scale services](docs\u002Fen\u002Ftutorial_on_building_services.pptx)(training material)\n    * [bRPC internal](docs\u002Fen\u002Fbrpc_internal.pptx)(training material)\n  * RPC in depth\n    * [New Protocol](docs\u002Fen\u002Fnew_protocol.md)\n    * [Atomic instructions](docs\u002Fen\u002Fatomic_instructions.md)\n    * [IO](docs\u002Fen\u002Fio.md)\n    * [Threading Overview](docs\u002Fen\u002Fthreading_overview.md)\n    * [Load Balancing](docs\u002Fen\u002Fload_balancing.md)\n    * [Locality-aware](docs\u002Fen\u002Flalb.md)\n    * [Consistent Hashing](docs\u002Fen\u002Fconsistent_hashing.md)\n    * [Memory Management](docs\u002Fen\u002Fmemory_management.md)\n    * [Timer keeping](docs\u002Fen\u002Ftimer_keeping.md)\n    * [bthread_id](docs\u002Fen\u002Fbthread_id.md)\n  * Use cases\n    * [User cases](community\u002Fcases.md)\n\n# Contribute code\nPlease refer to [here](CONTRIBUTING.md).\n\n# Feedback and Getting involved\n* Report bugs, ask questions or give suggestions by [Github Issues](https:\u002F\u002Fgithub.com\u002Fapache\u002Fbrpc\u002Fissues)\n* Subscribe to the mailing list(dev-subscribe@brpc.apache.org) to get updated with the project\n\n# Code of Conduct\nWe follow the code of conduct from Apache Software Foundation, please refer it here [Link](https:\u002F\u002Fwww.apache.org\u002Ffoundation\u002Fpolicies\u002Fconduct)\n","brpc 是一个使用 C++ 语言开发的工业级 RPC 框架，广泛应用于高性能系统如搜索引擎、存储、机器学习、广告和推荐等。其核心功能包括支持多种协议（如 HTTP\u002FHTTPS、gRPC、Redis、Memcached 等）在同一端口上运行，并提供了比官方客户端更友好且性能更优的实现。此外，brpc 还支持异步服务处理、同步与异步调用方式以及组合通道简化访问逻辑等功能，同时具备调试服务及性能分析工具。该框架特别适合于需要构建高可用分布式服务或对延迟和吞吐量有严格要求的应用场景。",2,"2026-06-11 03:38:38","high_star"]