关于http和rpc的区别(segmentfault上的回答)

问题
最近用了谷歌的grpc,所以对rpc和http有一点疑惑,感觉这两个东西功能上是一样的,rpc某个服务监听某一个方法,客户端调用这个方法,返回相应的数据,和http监听某个方法的路由 返回相应的数据好像没有本质上的区别啊?

 

回答

rpc不仅仅可以用http协议实现。

http只是rpc的载体、传输协议。但是宽泛起来也可以说,是rpc的一种实现。

json(jsonrpc),xml(xmlrpc),protobuf,等都只是一种序列化方法(codec)。

http,tcp,mq等都是传输协议。

rpc中,jsonrpc和xmlrpc一般认为是使用json和xml作为序列化方法,使用http作为传输媒介的rpc协议。

grpc协议,序列化方法是protobuf,传输协议基于HTTP2。

posted @ 2018-09-14 23:03  夏威夷8080  阅读(454)  评论(0编辑  收藏  举报