RPC 调用的分类方式有不少种。json
从通讯协议层面能够分为:restful
基于 HTTP 协议的 RPC;框架
基于二进制协议的 RPC;异步
基于 TCP 协议的 RPC。google
从是否跨平台可分为:spa
单语言 RPC,如 RMI, Remoting;rest
跨平台 RPC,如 google protobuffer, restful json,http XML。同步
从调用过程来看,能够分为同步通讯RPC和异步通讯RPC:二进制
同步 RPC:指的是客户端发起调用后,必须等待调用执行完成并返回结果;call
异步 RPC:指客户方调用后不关心执行结果返回,若是客户端须要结果,可用经过提供异步 callback 回调获取返回信息。大部分 RPC 框架都同时支持这两种方式的调用。