最近学习了一些系统交互的名称RPC和RMI,也看了好多书籍。
分布式系统一书中对RPC和RMI的异同描述如下:
个人理解为RPC是面向过程的远程调用,RMI是面向对象的远程调用。
但随着http协议的流行,我理解RPC和RMI能做的,http都可以做,而且http请求调用更容易理解和操作。
既然有了http请求调用,那RPC和RMI还有啥应用场景?

解决方案 »

  1.   

    性能问题,http头包含了额外的信息,数据包相对大一些,并且http需要走dns等,比较耗时,而且http一般是对外的。其实两者可以共存,个有长处短处,既然存在就有他存在的价值,当然你也可以用http协议来实现rpc或者rmi。
      

  2.   

    还是不太明白rpc存在的意义,像dubbo框架是基于rpc协议,为啥不用http呢?