Restful调用效率太低,远程过程调用可以使用更加短小而精悍的传输模式提高通信效率。RPC本身是一种远程通信的方式,具体实现有很多种方式
单机架构到微服务分布式,最底层还是机器之间二进制信号的传输。
原始的方式是TCP/TP进行机器之间的通信。
对象->二进制
- java.io.Serializable
- Hessian
- Google Protobuf
- FaceBook Thrift
- kyro
- fst
- json序列化框架 Jackson/Google Gson/Ali FastJson
- xmlrpc(xstream)
- TCP/UDP/HTTP/自定义协议
- CORBA
- Web Service(SOA/SOAP/RDDI/WSDL) 基于http+xml标准化的Web API
- RestFul http+json (representation state transfer)
- RMI (Remote Method Invocation) java内部的分布式通信协议
- JMS
- RPC(统称)
服务注册、服务发现、服务治理、负载均衡等等