grpc 主要用来作什么?

2020-06-01 13:45:11 +08:00
 sunshinev
3708 次点击
所在节点    程序员
13 条回复
xnode
2020-06-01 13:47:55 +08:00
rpc 通信的
Oktfolio
2020-06-01 14:01:16 +08:00
gRPC is a modern open source high performance RPC framework that can run in any environment.
fiypig
2020-06-01 14:02:26 +08:00
是进程间的通信吗?
wellsc
2020-06-01 14:07:00 +08:00
不就是在 socket 的基础上新定义了一个概念
zachlhb
2020-06-01 14:07:46 +08:00
微服务中各个服务之间通信会用到 grpc
simenet
2020-06-01 15:03:09 +08:00
远程方法调用 GO 用的挺多
simenet
2020-06-01 15:03:15 +08:00
远程方法调用 GO 用的挺多。。
asAnotherJack
2020-06-01 15:23:21 +08:00
微服务 rpc
sonice
2020-06-01 15:38:33 +08:00
就是远程方法调用,比 restful 接口更好一点的是必须要严格遵守 schema,并且它的底层还做了数据压缩,把请求响应变得更小。
Jooooooooo
2020-06-01 18:40:11 +08:00
就是更好用的 http
raaaaaar
2020-06-01 21:49:40 +08:00
谷歌造的一个 rpc 框架,rpc 就是远程过程调用,一个通信协议,类似于 http,用来调用远程计算机上的程序
zsdroid
2020-06-01 21:55:46 +08:00
axihe
2020-06-01 23:24:11 +08:00
我们是用来做服务与服务之间的通信,感觉蛮好的;
不同语言的服务之间随便调,比如我 JS 写的服务里,调用同事 C++的服务,同事 Go 的服务调用我的服务;同事的 JS 服务调用我的服务等等;其实就是更吊一点的 HTTP 。

服务端和客户端都维护一套规则文件(`.proto`文件),如果增加接口或修改接口等,服务端和客户端都需要更改`.proto`文件(如果是分开维护的话);

其它都不错,就是改配置这点还是挺蛋疼的,不知道 V2 上各位老哥们是怎么解决这个问题的。为了解决这个问题,我是把 JS 封装成一个 npm 包,包里同时实现了客户端和服务端功能,如果是同事写 JS 的服务,可以直接用包,但是别的语言的话,还是要自己维护一套 proto 文件;这个还是挺蛋疼,不知道有没有什么好的解决方案。

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

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

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

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

© 2021 V2EX