分布式之RPC的协议以及错误处理

本文主要内容来自于分布式系统:概念与设计
用惯了Web Services,但是很少知道RPC和RMI,更不用说它们之间的区别了,所以先总结一下RPC以及RMI到底是什么东西!!

在分布式系统通信中有两个最基本的远程调用技术,分别是:

  • RPC:一个对远程节点上的过程的调用就像调用本地节点那样完成;
  • RMI:与特定的Java RMI要进行区分,与RPC最大区别在于使用了面向对象的概念,那么在远程调用时可以把对象应用作为参数传递,它的实现最典型的就是Java RMI,但不限于Java RMI;

1、交互协议

远程调用允许客户端透明地调用在服务器程序中的过程,而这些服务器程序在不同的进程中,并且通常在不同于客户端的计算机中。如果要完成远程调用,必然要设计出一种协议让客户端和服务端来遵守,这样才能让调用者和提供调用过程者协同完成工作。其实我们对这种“协议”也不陌生,比如熟知的TCP/IP协议和Http协议等等。在远程调用过程中有多种交互协议,如下:

  • 请求协议:可以用在不需要从远程操作中返回值或者客户端不需要得到远程操作执行确认的场景中,请求发送后客户端不需要等待应答消息而可以继续执行;
  • 请求-应答协议:这种方式使我们最常见的,服务器的应答消息可以看做是客户端请求消息的一个确认;
  • 请求-应答-确认应答协议

这三种协议传递消息的方式如下:

<
协议 客户端 服务端 客户端
请求协议 请求 XX XX
请求-应答协议 请求 应答 XX
  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值