RPC概念及分类
RPC全称为Remote Procedure Call,翻译过来为“远程过程调用”。目前,主流的平台中都支持各种远程调用技术,以满足分布式系统架构中不同的系统之间的远程通信和相互调用。调用的应用场景极其广泛,实现的方式也各式各样。
从通信协议的层面,大致可以分为:
基于HTTP协议的(例如基于文本的SOAP(XML),Rest(JSON),基于二进制的Hessian(Binary))
基于TCP协议的(通常会借助Mina、Netty等高性能网络框架)
从不同的开发语言和平台层面,分为:
单种语言或平台特定支持的通信技术(例如Java的平台的RMI,.NET平台Remoting)
支持跨平台通信的技术(例如HTTP Rest,Thrift等)
从调用过程来看,分为:
同步通信调用(RPC同步)
异步通信调用(MQ,异步RPC)
常见的几种通信方式
1.远程数据共享(例如:共享远程文件,共享数据库等实现不同系统通信)
2.消息队列
3. RPC(远程过程调用)