用没有感觉 brpc 比 grpc 实在?

2019-09-04 15:27:58 +08:00
 mv0x

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

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

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

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

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

16243 次点击
所在节点    程序员
22 条回复
xkeyideal
2019-09-04 16:50:47 +08:00
说缺点之前,请先查点资料或者有实践经验再说,grpc 不支持 http2 ?我只能说你菜的抠脚。

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

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

https://www.v2ex.com/t/597879

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

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

© 2021 V2EX