soa和rpc的关系:
1、对于RPC本身可以走HTTP ,TCP等不同的协议,比如淘宝的Dubbo框架,RPC是可以选择走TCP协议还是走HTTP协议的。
2、SOAP和RPC都是SOA的具体实现方式。SOAP是基于HTTP和XML的实现,因此会更容易做业务隔离,在系统可维护性和可扩展性上优于RPC。而RPC是基于TCP或自定义协议的实现,性能会略好于SOAP,但是异构系统间的耦合度会更高,间接增加系统的故障率和排错难度。
3、RPC是一种进程远程调用的方式,更强调的是异构平台之间进程通信的机制。它可以使用多种协议(包括HTTP以及其他base在TCP的自定义协议)和序列化方式(Json/xml/二进制),组件之间的耦合度比较高。服务管理的机制相对较弱。SOA是一种产品架构的理念,以服务为中心,松耦合,通过定义严谨明确的接口进行通信。有比较完善的服务管理机制。