远程过程调用(RPC)的意义仅仅是为了解决分布式需求么?

仅仅是为了在两台服务器上通信么?如果是一台服务器有没有必要设置两个端口调用RFC服务?这样子是不是有点多余?

阅读 3.7k
4 个回答

分布式系统之间相互通信,总的来说有两种形式:

  1. rpc

  2. 消息
    这两种形式都是为了达到分布式系统不同组件(不同机器)间的沟通和协作。

RPC其实就是分布式服务解耦的方案,其实就可以理解为一套服务接口的定义和实现。PRC的意义在于让使用者无须关心远程通信的具体实现(所以它可以跨越编程语言,跨越网络协议,跨越数据编码方式所存在),而聚焦于实现自己的程序逻辑上。

新手上路,请多包涵

为什么要设置两个端口?

分布式应用解决方案,主要是降低耦合。带来的好处有:

  • 部署粒度变小

  • 应用组件化,模块清晰

  • 让不同功能选择最合适的实现方式(语言等等),调用者无需关心

PS:小白胡乱总结的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题