Apache BRPC 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Apache BRPC 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
Apache BRPC 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
Apache BRPC 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
Apache BRPC 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !

软件简介

BRPC 即 Baidu-RPC ,是百度开源的 RPC 框架,在百度内部被大量采用,拥有超过 60 万个实例和 500 多种服务。

特性

  • 囊括百度内部所有 RPC 协议,支持多种第三方协议

  • 模块化设计,层次清晰,很容易添加自定义协议

  • 全面的服务发现、负载均衡、组合访问支持

  • 可视化的内置服务和调试工具

  • 性能上领跑目前其他所有 RPC 产品

架构

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (29)

加载中
领跑目前其他所有 RPC 产品???? dubbo也不行?
2017/10/09 13:42
回复
举报
打分: 力荐
绝对的好东西
2017/09/26 10:48
回复
举报
打分: 力荐
楼上gRPC更强的,没有中文文档的,去看看测试部分的文档再来说吧,不要只会喷。
2017/09/22 17:20
回复
举报
评论没有一个有用的
2017/09/22 13:18
回复
举报
打分: 力荐
百度RPC框架 BRPC 初体验:https://my.oschina.net/jacktanger/blog/1541587
2017/09/22 01:27
回复
举报
打分: 力荐
挺NB
2017/09/21 17:41
回复
举报
没有中文文档,,,不完美
2017/09/21 14:35
回复
举报
百度内部应该有更好的了。这个就开源了
2017/09/21 12:35
回复
举报
打分: 力荐
业界良心
2017/09/20 16:28
回复
举报
RPC方案太多了,BAT人手一个,第三方优秀的也很多。而且我很不明白,为啥大家都要开源这个?
2017/09/19 23:19
回复
举报
更多评论
暂无内容
发表了博客
2018/12/10 20:11

brpc初探

因为最近在看一个内部开源代码,看到了braft。braft又依赖于brpc。于是就看了相关的文档,打算接下来试一把。 这里引用下gejun大佬在知乎上的回答(https://www.zhihu.com/question/65370268/answer/231801580)。 RPC是个老概念,五花八门的实现非常多。在14年我刚转到基础架构部时,其实是不想做RPC框架的。我的想法可能和很多工程师一样:之前做了那么多系统,现在就让我来搞个编程框架?而且这能做出什么花头?但事实很快证...

0
0
发表了博客
01/08 11:57

brpc源码学习(六)- brpc server 端整体流程

brpc的使用比较容易上手,以官方demo为例,因为brpc的数据序列化依赖protobuf,所以首先需要定义个proto 然后继承EchoService并实现Echo方法 然后是整体流程 启动还是比较简单的,定义server,AddService,然后Start即可 首先放一张官网的图,陷入细节前先有个大概印象 然后看下AddService 然后是AddServiceInternal 首先判断注册的service中是否有method,如果没有则直接返回;然后调用InitializeOnce()只进行一次初始化,该函...

0
0
发表了博客
2018/08/16 08:05

百度brpc 压测工具rpc_press解析

#1. 背景 昨天看到一段brpc中的压测代码rpc_press, 看着不错。整理一下。 发压工具的难点不是发送请求,而是要注意下面的2点: 保证能发出足够的qps,比如上万qps 控制发送合理的qps,比如控制为5qps,不可以大量发压 #2. brpc 中的是关键实现 ##2.1 如何确保发送足够qps rpc_press 采用多线程发送。 对于上万qps,多线程来分摊,每个线程发送qps控制在一定范围内。 ##2.2 如何控制合理qps 这是难点,线程如何控制发送qps。 看下...

0
0
发表了博客
2019/03/02 14:50

尝试brpc来升级rpc服务,测试应用过程

照着官方文档来,不过在mac下还是有些小坑 对熟悉c++的人来说很小儿科,但对c++相对比较外行 (只知道基本语法和部分数据结构)的人,还是作不到开箱即用 首先编译 ``` If you need to enable cpu/heap profilers in examples: brew install gperftools If you need to run tests, install and compile googletest (which is not compiled yet): git clone https://github.com/google/googletest && cd googletest/googletest && ...

0
0
发表了博客
2018/08/18 13:46

分布式环境中,模块数据交互协议分析 (百度brpc)

#1. 背景 之前听到同事说,要为自己的模块考虑写个数据协议。今天有空想了一下。写出来,方便后续使用。 开源代码brpc中可以支持多种协议,nshead、redis、mongo等20多种协议。 #2. 什么是数据交互协议? 这里说的协议,不是tcp/ip这些网络协议。 在分布式环境中,我们需要将模块的数据通过网络bit流传给上、下游模块,就会涉及到数据完整性、正确性校验。 为了能够校验数据,就需要定义数据交换协议。 #3. 代码brpc中的实现 每...

0
0
发表了博客
2019/08/05 11:58

​brpc-rs开源:Rust社区迎来企业级高性能RPC框架

brpc是百度内部使用最为广泛的RPC框架,以C++语言实现。2017年brpc以Apache 2.0协议开源,并于2018年末被Apache孵化器接收。brpc在百度内部经受了高并发高负载的生产环境验证,其性能领跑其他同类RPC产品。 brpc-rs是MesaTEE通用安全计算框架的子项目,是百度安全将brpc引入Rust社区的一次尝试。Rust是一门新兴的系统编程语言,强调高性能和高可靠性,其设计目标之一就是支持大规模的网络应用。近年来Rust社区在网络应用方面进步...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
29 评论
268 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部