grpc 到底好处在哪里?

224 天前
 hui9000

我这边没用过 grpc ,之前用过 dubbo ,维护过一个大型 ToB 项目,简直折磨,如果大家都按照规范来,我觉得还好,但是这项目 5 年了,经历了好几代程序员的维护,现在打开都恶心。 后来所有的新项目都搞 Feign 了。但是这个也有点恶心的。最近新开了一个大型项目也是 ToB 。在做技术选型和对比,团队人员目前比较稳定,大概 40 人左右。 想问一下,有没有用 grpc 做过大型项目或维护过这种项目的,有多少坑,坑大小?对比 Feign 好处有哪些。 PS: 别杠,你杠就你对。

4004 次点击
所在节点    问与答
32 条回复
me1onsoda
223 天前
feign 是七层 http 协议,grpc 是四层 tcp 。
对性能来说,那肯定是 rpc 性能好,你见过和哪个中间件通信用 http 的?
易用性可维护性,那还是 feign 这种声明式更好。
kenvix
223 天前
grpc 恶心是因为 protobuf 恶心,这个玩意生成的代码就是一坨屎,污染整个项目
lambdaq
223 天前
grpc 的好处就是面向简历编程,以及技术选型有「 google 都在用」这个黄金招牌。

你选别的 rpc 方案,出了问题就是你选型的责任;

你选 grpc ,出了问题,那得你们公司反思为啥 google 能你们就不能。

这根 yylx 一样的底层逻辑。
lambdaq
223 天前
@kenvix u1s1 ,pb 是有好处的。如果写 C 艹 ,没 pb 你会写出来更恶心的代码。

问题就在于 c 艹本来就是个很傻的生态。pb 属于补救,但是别的语言无脑套用 pb 这就纯跟风和巨厂号召力吧。
hui9000
223 天前
@lambdaq 有道理,后期项目复盘,锅都是自己买的。太惨了,现在 tm 都是这样,有啥事都能把锅甩到技术上,你跟他们解释也解释不通,说白了,人家已经把答案写好了。
flowerains
223 天前
我感觉代码恶心不恶心和人关系很大,和架构关系不大
kenvix
223 天前
@lambdaq #24 RPC 领域,论生成的代码质量,thrift 比 grpc 好得多
论数据交换 msgpak 把 pb 按在地上打
lambdaq
223 天前
@kenvix 所以这两者也有一定市场占有率吧。thrift 也自带巨长光环,让使用者自适应自带反思。
coderxy
223 天前
grpc 最大的优点就是有一个好亲爹, 超强背书。
migu
223 天前
@me1onsoda #21 请教一下,GRPC 不是基于 HTTP2 的吗,为什么是四层
hui9000
223 天前
@flowerains 软件工程的思想在国内大部分公司都是没有的,基本都不会按照规范写,每个人的理解又不一样。又不是不能跑,要是有一个人在工程里拉了一坨大的,其他人是不会管的,因为谁都是看见屎都想吐。
jsq2627
223 天前
目前公司用 grpc + thrift ,甩开了 protobuf 的负担,感觉体验良好。

有 schema 对项目长期维护很重要。
跨语言也很重要。因为保不准团队里就有人想用其他语言来写一部分服务。
我公司内主要是 go ,后来陆续引入了 java/python/nodejs ,大家都在 grpc+thrift 下工作良好。thrift 的代码生成效果也不错。
不过缺点是 thrift 生态还是比 protobuf 差了一些。

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

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

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

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

© 2021 V2EX