RPC与MQ 相同: 1、都利于大型系统的解耦; 2、都提供子系统之间的交互,特别是异构子系统(如java\node等不同开发语言); 不同: 1、RPC侧重功能调用,因此多半是同步的; 备注:也有基于MQ上实现RPC的,这样的话就是异步的,MQ本身,如rabbitMQ也有提供实现RPC的能力; 2、MQ 的使用,一方面是基于性能的考虑,比如服务端不能快速的响应客户端(或客户端也不要求实时响应),需要在队列里缓存; 另外一方面,它更侧重数据的传输,因此方式更加多样化,除了点对点外,还有订阅发布等功能。