rpc协议

Linux下NFS服务器的搭建与配置

社会主义新天地 提交于 2019-11-28 09:38:55
一、NFS服务简介  NFS 就是 N etwork F ile S ystem 的缩写,最早之前是由sun 这家公司所发展出来的。 它最大的功能就是 可以透过网络,让不同的机器、不同的操作系统、可以彼此分享个别的档案 (share files)。所以,你也可以简单的将他看做是一个文件服务器 (file server) 呢!这个 NFS 服务器可以让你的 PC 来将网络远程的 NFS 服务器分享的目录,挂载到本地端的机器当中, 在本地端的机器看起来,那个 远程主机的目录就好像是自己的一个磁盘分区槽一样 (partition)!使用上面相当的便利! 因为 NFS 支持的功能相当的多,而不同的功能都会使用不同的程序来启动, 每启动一个功能就会启用一些端口来传输数据,因此, NFS 的功能所对应的端口才没有固定住, 而是随机取用一些未被使用的小于 1024 的埠口来作为传输之用。但如此一来又造成客户端想要连上服务器时的困扰, 因为客户端得要知道服务器端的相关埠口才能够联机吧! 此时我们就得需要远程过程调用 (RPC) 的服务啦! RPC 最主要的功能就是在指定每个 NFS 功能所对应的 port number ,并且回报给客户端,让客户端可以连结到正确的埠口上去。 那 RPC 又是如何知道每个 NFS 的埠口呢?这是因为 当服务器在启动 NFS 时会随机取用数个埠口,并主动的向 RPC

XML-RPC-2RPC

青春壹個敷衍的年華 提交于 2019-11-28 07:44:45
远程过程调用协议 RPC一般指远程过程调用协议 RPC(Remote Procedure Call)— 远程过程调用 ,它是一种通过 网络 从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。 RPC协议 假定某些 传输协议 的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI 网络通信 模型中,RPC跨越了 传输层 和 应用层 。RPC使得开发包括网络 分布式 多程序在内的应用程序更加容易。 RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复 信息 ,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。 有多种 RPC模式和执行。最初由 Sun 公司提出。IETF ONC 宪章重新修订了 Sun 版本,使得 ONC RPC 协议成为 IETF 标准协议。现在使用最普遍的模式和执行是开放式软件基础的分布式计算 环境 (DCE)。 中文名 远程过程调用 外文名 Remote Procedure Call 核心思想 信息传输协议 研究方向 分布式 目录 1 工作原理 2 协议结构 工作原理 编辑 运行时

SOAP-1概述

99封情书 提交于 2019-11-28 07:42:30
简单对象访问协议 SOAP(简单对象访问协议)一般指简单对象访问协议 简单对象访问协议是交换数据的一种协议规范,是一种轻量的、简单的、基于 XML ( 标准通用标记语言 下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息。 中文名 简单对象访问协议 外文名 Simple Object Access Protocol 中文 缩写 简象访协 外语 缩写 SOAP 目录 1 webService三要素 2 相关定义 3 历史 4 四个部分 ▪ 封装 ▪ 编码规则 ▪ RPC表示 ▪ 绑定 5 协议结构 6 语法规则 ▪ 构建模块 ▪ 语法规则 ▪ 消息基本结构 7 核心技术 8 优点 webService三要素 SOAP、WSDL(W eb S ervices D escription L anguage )、UDDI(U niversal D escription D iscover y and I ntegration )之一, soap用来描述传递信息的格式, WSDL 用来描述如何访问具体的接口, uddi用来管理,分发,查询webService 。具体实现可以搜索 Web Services简单实例 ; SOAP 可以和现存的许多 因特网协议 和格式结合使用,包括 超文本 传输协议 (HTTP), 简单邮件传输协议 (SMTP), 多用途网际邮件扩充协议

RPC框架初体验之Thrift

痞子三分冷 提交于 2019-11-28 03:09:46
RPC框架初体验之Thrift 版本说明:thrfit 0.12.0 模块说明: thrift-demo-java-api: 使用thrift生成Java api thrift-demo-java-server: Java 实现Thrift服务端 thrift-demo-java-client:Java实现Thrift客户端 thrift-demo-py-api:使用thrift生成Python api thrift-demo-py-server:Python实现Thrift服务端 thrift-demo-py-client:Python实现Thrift客户端 1 前言 上一篇文章《RPC框架初体验之Dubbo》,体验了阿里开源的RPC框架,该框架体验还算不错,业界使用也较多。但是仅支持Java语言,不能进行跨语言。这里就体验一款性能不错,评价不错,且支持跨语言的RPC框架thrfit。本篇将分别使用Java和Python实现thrift的服务端和客户端,并进行交叉调用。 2 项目准备 2.1 thrfit 安装 thrift的安装方式有好多种,像我在mac环境可以使用brew install thrfit的方式进行安装,也可以通过源码编译的方式进行安装。同样在linux环境下,centos可以使用yum,ubantu可以使用apt,当然unix的环境都可以使用源码编译的方式安装

.NET World——gPRC概览

会有一股神秘感。 提交于 2019-11-27 19:24:30
什么是gRPC 官方 的定义: gRPC is a modern open source high performance RPC framework that can run in any environment. It can efficiently connect services in and across data centers with pluggable support for load balancing, tracing, health checking and authentication. It is also applicable in last mile of distributed computing to connect devices, mobile applications and browsers to backend services. gRPC是一种现代化开源的高性能RPC框架,能够运行于任意环境之中。它可以高效地在服务和数据中心内部与其间建立连接,并且可支持负载均衡,追踪,健康检测与认证功能。同时它也可用于分布式计算的“最后一公里”,连接设备,移动应用和浏览器到后端服务。 维基 的定义: gRPC (gRPC Remote Procedure Calls) is an open source remote procedure call

RPC服务框架探索之Thrift

我与影子孤独终老i 提交于 2019-11-27 12:58:30
前言 架构服务化后,需要实现一套方便调用各服务的框架,现在开源如日中天,优先会寻找开源实现,如果没有合适自家公司业务的,才会考虑从零开发,尤其是一切以KPI为准绳的公司,谁会跟钱过不去?N个月之前,公司大神就开始调研了,最后选中了Thrift这个RPC服务框架。使用不熟悉的技术,我会感到很恐惧,它就相当于一个黑盒,我对它一无所知,它是如何运转的?出了问题该如何解决?带着一丝不安,查阅了相关技术文档。 RPC 很早之前听说过soap,restful api,rpc之类的服务协议,一直都没有机会深入实践,对它们理解的不够深。它们的目的都是提供本地调用远程服务的能力,只是实现方式不同而已。RPC(remote procedure call)意思是远程过程调用,编码时可以把它当作本地方法一样调用,无需关心内部的实现细节,对于调用方很友好很简单。我查阅资料,发现RPC之类的东西很早很早以前就出现了,存在即是合理的,肯定有它的理由。跟本地调用相比有什么优点缺点呢?根据查阅的资料以及自己的理解总结如下: 优势 1 提高系统吞吐能力 2 业务服务解耦 3 更易构建服务分布式集群 4 基础服务重用更方便 劣势 1 因网络开销方法执行时间更长 2 系统更复杂对运维挑战很大 3 排错成本增加 4 数据序列化消耗CPU资源 现在是移动互联时代,数据无时无刻不在产生着,随着时间的推移,随着用户数的增加

面向服务架构之RPC原理与实例

僤鯓⒐⒋嵵緔 提交于 2019-11-27 12:57:50
1、RPC概述   RPC(Remote Procedure Call)即远程过程调用,允许一台计算机调用另一台计算机上的程序得到结果,而代码中不需要做额外的编程,就像在本地调用一样。主要是为了应对当前互联网项目量级越来越大而出现的。 2、Broker模式介绍    3、RPC结构拆解    4、RPC客户端组件与职责   -RpcClient:负责导入远程接口的代理实现   -RpcProxy:远程接口的代理实现   -RpcInvoker:负责编码和发送调用请求到服务方并等待结果   -RpcProtocol:负责协议的编/解码   -RpcConnector:负责维护客户/服务方连接通道和发送数据到服务方   -RpcChannel:数据传输通道 5、RPC服务端组件与职责   -RpcServer:负责导出远程接口   -RpcInvoker:负责调用服务端接口的具体实现并返回结果   -RpcProtocol:负责协议的编/解码   -RpcAcceptor:负责接收客户方请求并返回请求结果   -RpcProcessor:负责在服务方控制调用过程,包括线程池、超时等   -RpcChannel:数据传输通道 6、RPC导出/导入远程接口 7、RPC数据传输   -传输协议:建议选择稳定性较强的连接协议(HTTP、TCP),像UDP就不建议选择   -连接:长连接、短连接

普通socket, rpc, websocket,http等

霸气de小男生 提交于 2019-11-27 12:14:24
rpc的用法是客户端直接调用服务端的函数,其实他就是把数据传给服务端,服务端处理完以后返回给客户端, websocket是把数据发出去,他是在tcp之上一层的,他有发送结束标志,就是一次ws.send的结束,服务器会知道,服务器按照协定可以拿出完整的一次ws.send那么区别就出来了:websocket并不关系对方拿到数据后处理的过程是否完成,而rpc是和处理过程相关的,其实他们不是同一个级别的东西。如果是 短连接的 话, rpc更像是http, rpc适合 做数据同步 ,websocket适合 做流 ,当然也可以用websocket实现rpc https://www.jianshu.com/p/3b5955940998 这个问题其实是有理解误区的,首先 http 和 rpc 并不是一个并行概念。 rpc是远端调用协议, 包含 传输协议和编码协议。 传输协议包含: 如著名的 [gRPC]( grpc / grpc.io** ) 使用的 http2 协议,也有如dubbo一类的自定义报文的tcp协议。 编码协议包含: 如基于文本编码的 xml json,也有二进制编码的 protobuf binpack 等。 因此我理解的你想问的问题应该是: 为什么要使用自定义 tcp 协议的 rpc 做后端进程通信? 要解决这个问题就应该搞清楚 http 使用的 tcp 协议,和我们自定义的

1、SOFA RPC 源码解析 —— 服务发布篇

泪湿孤枕 提交于 2019-11-27 07:47:51
有一阵子没有更新源码解析了,最近关注了一个微服务框架SOFA RPC这是蚂蚁金服的一个开源框架,地址在:https://github.com/sofastack/sofa-rpc, 这个框架还是一个朋友推荐的,看了第一部分它的发布流程没想到代码写的很精简易懂,封装性也很好,更大的激发了我看它的乐趣,那我们就一起一步步去学习下它的整个微服务框架的构成和实现吧! 一、 首先我们先从github fork下SOFA RPC这个项目,作者使用的是5.5版本,环境搭建及整体模型介绍参考:https://www.jianshu.com/p/1eeee833bd5d, 本地编译好那就准备工作都完成了,开始分析吧!服务发布现在有两种方式,一种是SOFA RPC发布方式,还有一种是使用SOFA BOOT,本系列文章都使用SOFA RPC方式分析,SOFA BOOT我们后面开专栏讲解是怎么封装SPRING BOOT的,OK 贴发布代码: /** 需要发布的接口 **/ public interface HelloService { public String sayHello(String name); } /** 发布接口的实现类 **/ public class HelloServiceImpl implements HelloService { public String sayHello

Dubbo(高性能、轻量级的开源Java RPC框架) & RPC(远程过程调用)

余生长醉 提交于 2019-11-27 04:44:45
Dubbo是 [1] 阿里巴巴公司开源的一个高性能优秀的 服务框架 ,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 [2] Spring 框架无缝集成。 Dubbo是一款高性能、轻量级的开源Java RPC 框架,它提供了三大核心能力: 面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。 RPC:RPC(Remote Procedure Call)— 远程过程调用 ,它是一种通过 网络 从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。 RPC协议 假定某些 传输协议 的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI 网络通信 模型中,RPC跨越了 传输层 和 应用层 。RPC使得开发包括网络 分布式 多程序在内的应用程序更加容易。 来源: https://www.cnblogs.com/luojie1216/p/11343893.html