谈谈RPC

  

  RPC-------->远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。

  RCP采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息的到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。

  hadoop的整个体系结构就是构建在RPC之上的。见org.apache.hadoop.ipc。

  

现在呢,在基于hadoop来实现。Hadoop对RPC提供了支持,肯定是有工具类。

Namenode与datanode、client与datanode、client与namenode都是走的RPC来进行通信。

时间: 2024-08-05 23:15:21

谈谈RPC的相关文章

谈谈RPC——golang中jsonrpc和grpc的使用

前言 不知从什么时候rpc这个东西开始进入我们的视野,一开始做开发的时候经常使用的都是http,偶尔使用的是socket进行通信,使用的是restful的方式.但是,一次偶然的机会你会发现RPC这个东西进入了你的视野,而且由于微服务的兴起然他迅速被人们所知,那么它是什么,又如何使用呢? RPC定义 RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样. 说的再实际一点: 如果我们之前使用UserService.ge

谈谈如何使用Netty开发实现高性能的RPC服务器

RPC(Remote Procedure Call Protocol)远程过程调用协议,它是一种通过网络,从远程计算机程序上请求服务,而不必了解底层网络技术的协议.说的再直白一点,就是客户端在不必知道调用细节的前提之下,调用远程计算机上运行的某个对象,使用起来就像调用本地的对象一样.目前典型的RPC实现框架有:Thrift(facebook开源).Dubbo(alibaba开源)等等.RPC框架针对网络协议.网络I/O模型的封装是透明的,对于调用的客户端而言,它就认为自己在调用本地的一个对象.至

由SOAP说开去 - - 谈谈WebServices、RMI、RPC、SOA、REST、XML、JSON

引子: 关于SOAP其实我一直模模糊糊不太理解,这种模模糊糊的感觉表述起来是这样: 在使用web服务时(功能接口),本来我就可以通过安卓中固有的http类(使用http协议),来发送http请求,并且解析返回的数据(一般是xml或者json),得到我要的结果 为什么还非得多此一举使用soap呢,而且soap自己的介绍也说,它其实没有发明技术,它其实就是http+xml 在安卓中使用soap的方法是:(下载第三方类库),装配一个soap请求体,使用soap包装过的http类,通过http把请求体发

谈谈自己对rest和RPC的理解

一.什么是rest rest是一种架构风格,restful是遵循这种架构风格的应用程序或者设计.rest这种架构风格是美国一个博士在他的博士论文中提出来的,皆在于解决随着互联网的快速发展,传统的软件已经无法满足在这个时代背景下人们需求.在这个新的时代下,在这个万物互联的时代下,网络和软件这两个曾经单独存在的领域,已经无法在单独存在了,两者之间的交互和融合已经势在必行.rest架构风格就是在这样一个背景下被提出来的,他强调组件交互的可伸缩性.接口的通用性.组件的独立部署.以及用来减少交互延迟.增强

架构设计:系统间通信(10)——RPC的基本概念

1.概述 经过了详细的信息格式.网络IO模型的讲解,并且通过JAVA RMI的讲解进行了预热.从这篇文章开始我们将进入这个系列博文的另一个重点知识体系的讲解:RPC.在后续的几篇文章中,我们首先讲解RPC的基本概念,一个具体的RPC实现会有哪些基本要素构成,然后我们详细介绍一款典型的RPC框架:Apache Thrift.接下来我们聊聊服务治理和DUBBO服务框架.最后总结一下如何在实际工作中选择合适的RPC框架. 2.RPC概述 2-1.什么是RPC RPC(Remote Procedure

基于Netty打造RPC服务器设计经验谈

自从在园子里,发表了两篇如何基于Netty构建RPC服务器的文章:谈谈如何使用Netty开发实现高性能的RPC服务器.Netty实现高性能RPC服务器优化篇之消息序列化 之后,收到了很多同行.园友们热情的反馈和若干个优化建议,于是利用闲暇时间,打算对原来NettyRPC中不合理的模块进行重构,并且增强了一些特性,主要的优化点如下: 在原来编码解码器:JDK原生的对象序列化方式.kryo.hessian,新增了:protostuff. 优化了NettyRPC服务端的线程池模型,支持LinkedBl

谈谈EJB是如何发布Web Service的

定义 我们经常会听到,xx项目中用到了Web Service.那么,什么是Web Service呢? 首先让我们来了解一下Web Service.Web Service技术,就是能使得运行在不同机器上的不同应用无须借助附加的.专门的第三方软件或硬件, 就可相互交换数据或集成.依据Web Service规范实施的应用之间,无论它们所使用的语言.平台或内部协议是什么,都可以相互交换数据.Web Service是自描述.自包含的可用网络模块,可以执行具体的业务功能. Web service是一个平台独

360消息系统RPC基础库迭代

https://github.com/johntech-o/blog 360消息系统RPC基础库迭代 引文: 消息系统内部各服务的通信,是依赖于RPC调用串联起来的.RPC框架的易用性,性能,开销决定了整个系统的开发的灵活性,整体性能 和负载上限.因此对于这样一个基础库,硬性要求一定是稳定高效易用的,一旦整个系统使用,除非必要不做影响应用层的修改. 但由于项目在启动时,go语言本身还没有成型的开源方案,先后开发3个版本,才完善成型. 消息系统的rpc框架的迭代,可以说是系统通信模型设计的一个缩影

谈谈互联网后端基础设施(转)

谈谈互联网后端基础设施 来自:http://chuansong.me/n/717637351233 对于一个互联网企业,后端服务是必不可少的一个组成部分.抛开业务应用来说,往下的基础服务设施做到哪些才能够保证业务的稳定可靠.易维护.高可用呢?纵观整个互联网技术体系再结合公司的目前状况,个人认为必不可少或者非常关键的后端基础技术/设施如下图所示: Api网关 业务应用和后端基础框架 缓存.数据库.搜索引擎.消息队列 文件存储 统一认证中心 单点登录系统 统一配置中心 服务治理框架 统一调度中心 统