237 words
1 minute
RPC相关知识点
Waiting for api.github.com...
HTTP和RPC之间的区别是什么?
严格来说HTTP是一种通信协议,定义的是网络通信的数据交互和通信方式,而RPC是一种调用方式,定义的是服务端和客户端之间的调用关系。
为什么微服务内部的通信更倾向于RPC
-
HTTP接口虽然通用性好,跨语言方便,但每次调用都要手动拼URL、设Header、处理返回值,写起来啰嗦。而且HTTP/1.1存在队头阻塞问题,单连接只能串行处理请求,高并发场景下需要建立大量连接,10万QPS的场景下这个开销就很可观了。
-
RPC框架帮你封装好了这些脏活累活。定义好接口,框架自动生成代理类,调用的时候就像调本地方法一样。连接池、序列化、负载均衡、超时重试这些都帮你搞定了。