grpc 到底好处在哪里?

2024-04-15 09:36:48 +08:00
 hui9000

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

4930 次点击
所在节点    问与答
32 条回复
workqing2023
2024-04-15 09:46:43 +08:00
grpc 也好,dubbo 也好,feign 也好,和项目恶心应该关系不大。。。。没啥区别,看公司内部对哪个的支持力度更大一点就好了
deorth
2024-04-15 09:49:57 +08:00
你说得对
yannxia
2024-04-15 09:50:48 +08:00
滥用都好不到哪里去,因为 API 瞎定义的事情是框架解决不了的。
GRPC 对比 Feign 的好处就是性能好一点,区别也不是很大,其实我觉得项目规模不大的情况下,我喜欢 HTTP ,容易调用。
lsk569937453
2024-04-15 09:51:18 +08:00
grpc 的 protobuf 比 json 啥的占用空间小,传输速度快。所以对性能要求很高的可以用 grpc,其他的 Feign( http 协议+json)就可以了。
tool2dx
2024-04-15 09:51:56 +08:00
不太一样,feign 就只是 HTTP API 的声明,而 grpc 是对于 Protobuf 的封装。

如果你们以前项目里不怎么用 Protobuf ,那用处并不是很大。
cheng6563
2024-04-15 09:53:57 +08:00
性能较高,没了。对于管理比较混沌的团队还是忍着恶心用 Feign 吧
28Sv0ngQfIE7Yloe
2024-04-15 09:56:07 +08:00
@cheng6563

方便说下 feign 恶心在哪里吗?
QlanQ
2024-04-15 09:56:26 +08:00
区别不是很大,那点性能可能对你的新项目也没多少影响,建议用团队以前用熟悉的
cheng6563
2024-04-15 09:57:24 +08:00
@Morii 不是 Feign 恶心,是项目恶心。
yeyang5211
2024-04-15 10:08:28 +08:00
如果是个咸鱼项目 没多少人用 feign spring 全家桶风险小, 并发大 有异构调用的需要可以考虑 grpc
Goooooos
2024-04-15 10:10:20 +08:00
toB 项目,如果对序列化性能没要求,还是建议 http+json
pkoukk
2024-04-15 10:18:10 +08:00
项目恶心用什么都很恶心
grpc 就是性能高,没啥别的
bianhui
2024-04-15 10:30:49 +08:00
没啥特别突出的地方吧,就是优化了一些 rpc 的诟病吧,比如说序列化(类型? json 也有 Schema 版本),通讯(可以用 http3 ?),开箱即用,性能没有想象那么高,最业界比较公认性能有意的是 facebook 的 Thrift ,坑也挺多的。如果跑在内网可以,跑公网不建议(比如说 udp 国内丢包你懂得),就 json+http 最省心了,或者 Protobuf +http 也行吧。
datoujiejie221
2024-04-15 10:31:17 +08:00
主要 grpc 对多语言支持比较好,如果其他语言比如 python 或者 go 用 feign 调用的话就比较麻烦了
还有就是 grpc 支持流式传输,feign 就不太了解了
hui9000
2024-04-15 10:39:17 +08:00
@yannxia
@pkoukk
@cheng6563
主要是啥东西刚开始都挺好的,无论是 dubbo 还是 grpc ,还有 feign ,过几个月就完了。老实回去用 http+json 吧
hui9000
2024-04-15 10:43:35 +08:00
@QlanQ ToB 的对快没什么太大需求,主要是有些传输内容较大,而且需要稳定。这样是不是就不适合了。
justplaymore
2024-04-15 11:07:34 +08:00
OMGZui
2024-04-15 11:43:15 +08:00
还是继续 Feign 吧
shilyx
2024-04-15 14:21:45 +08:00
gRPC 在 C++环境下尤其烂

污染性很强,完全不如 thrift
Akitora
2024-04-15 14:28:33 +08:00
一个是跨语言,一个是自带 schema

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

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

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

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

© 2021 V2EX