用没有感觉 brpc 比 grpc 实在?

2019 年 9 月 4 日
 mv0x

以前一直用 grpc,最近重新看了一下百度的 brpc,对比了一下优缺点。

brpc 优点,支持 status,lb,bvar,sessionlocal,threadlocal,logging,redis,http 等。 感觉这些是一个工程应用必须有的,比如状态监控,负载均衡,日志,常用的传输协议支持。

brpc 缺点,上手难度大,文档写的二流,很多功能要边猜边验证,支持的语言就要是 c++。

grpc 优点,支持的语言非常全,文档写的非常完善。

grpc 缺点,各种传输协议不支持( http/2,reids )之类的,日志要自己造,没有状态监控的 status。

17575 次点击
所在节点    程序员
22 条回复
xkeyideal
2019 年 9 月 4 日
说缺点之前,请先查点资料或者有实践经验再说,grpc 不支持 http2 ?我只能说你菜的抠脚。

还有,任何东西都有缺点,没有银弹,任何代码都不想写,框架啥的都帮你搞定,可能么?
jetyang
2019 年 9 月 4 日
grpc 有 nginx 插件,负载均衡不是问题,ssl 证书也可以放在 nginx 下,很爽的。status code 确实没有,只能靠分析异常日志判断错误原因。其它的( logging、redis、http、threadlocal。。。)看不懂
janxin
2019 年 9 月 4 日
brpc 和 gRPC 不是不冲突吗? B 站不是用 brpc 的生态+gRPC 吗...
hellodudu86
2019 年 9 月 4 日
楼主你也说了,grpc 支持的语言非常全,对一个 rpc 库来说这难道不是最实在的吗?
momocraft
2019 年 9 月 4 日
不是都叫 RPC 就可比较
StarkWhite
2019 年 9 月 4 日
看到标题第一反应是 brpc 是你写的,然后来这里发帖推广,看来我也患了 apijson ptsd 了 /笑哭
StarkWhite
2019 年 9 月 4 日
Facebook 也出了个 RPC 框架,叫 Thrift,可以一起对比啊
qq316107934
2019 年 9 月 4 日
把我看懵了,gprc 不是可以 over http/2 么: https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md
状态监控,日志在不同语言下都有不同的包去做实现,grpc 这样其实框架侵入少,是好事。至于 redis 和 http,貌似和这个没啥关系呀... 如果你想用 http 不是应该用 protobuf 么
luozic
2019 年 9 月 4 日
传输协议和服务治理是不同范围的东西。
tempdban
2019 年 9 月 4 日
前员工答题,brpc 是可以直接走 http 输出 json 或 html 的
tempdban
2019 年 9 月 4 日
尤其那个 bvar 用灵活了甚至可以直接显示心跳图。
mv0x
2019 年 9 月 4 日
@xkeyideal 你就是个智商 B,你看文档了没?
mv0x
2019 年 9 月 4 日
@jetyang 是的,brpc 服务治理确实很方便。
iPhoneXI
2019 年 9 月 4 日
@StarkWhite 老牌 RPC 框架了
mv0x
2019 年 9 月 4 日
@tempdban 我以前也在厂里干过,brpc 比厂里以前的 ub 好用不只 10 倍,以前的 ub 框架只能算是一个半成品。
mv0x
2019 年 9 月 4 日
@qq316107934 如果仅仅是 rpc,这一块两者差不多,如果要加上服务治理,brpc 确实好用。在 c++里面,如果自己去集成 http(libcurl),redis,mongdb 之类的,其实不是不能实现,但是人家集成了,用起来确实方便很多,没必要自己去找依赖,造轮子。
qq316107934
2019 年 9 月 4 日
@mv0x #16 哦哦,没注意到限定使用场景是 C++,我接触的还是 golang/python 偏多,仅供参考。
baixiangcpp
2019 年 9 月 4 日
brpc 文档二流吗?明明真香
swulling
2019 年 9 月 4 日
brpc 的问题是生态没起来,语言太限定了。厂内用的也是越来越少
swulling
2019 年 9 月 4 日
毕竟 c++写的项目书越来越少

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.xtra.eu.org/t/597879

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX