
随着互联网技术的不断发展,分布式计算逐渐成为了高性能计算的重要组成部分。在分布式计算中,RPC(远程过程调用)则是实现客户端与服务端之间通信的一种方式。在 Linux 系统下,实现基于 RPC 的分布式计算需要用到一些关键技术和工具,下面将针对这些技术和工具进行详细解析。
一、RPC 概述
RPC(Remote Procedure Call)是一种远程过程调用技术,其目的是允许两台计算机之间进行通信,使得远程计算机上的程序可以像本地计算机上的程序一样被调用。在分布式计算中,客户端需要调用服务端提供的远程功能,可以通过 RPC 技术实现远程调用。为了便于理解,下面给出一个简单的例子:
比如,客户端需要在服务端上打印一条信息,我们可以在服务端上部署一个打印服务,客户端只需要调用这个远程打印服务即可在服务端上打印内容。
二、RPC 实现方式
RPC 分为两种实现方式:同步调用和异步调用。
(1)同步调用
同步调用是指客户端发起请求后,一直等待服务端返回结果,直到收到服务端返回消息之后才进行处理。同步调用的优点是编程简单易懂,但缺点是容易造成死锁或阻塞现象。
(2)异步调用
异步调用是指客户端发起请求后,不会一直等待服务端返回结果,而是立即返回,并可以继续进行其他操作。当服务端完成处理后,通过回调函数或者其他方式通知客户端。异步调用的优点是可以提升系统的响应速度,减少阻塞现象的发生,但缺点是编程相对困难,需要一些异步编程技巧。
三、RPC 协议
RPC 协议是客户端和服务端之间进行通信的规范。在 Linux 系统下,常用的 RPC 协议有两种:ONC RPC 和 NIS+。
(1)ONC RPC
ONC RPC 是一种应用层协议,它可以在 TCP/IP、UDP/IP 等底层协议的基础上进行数据传输。ONC RPC 协议提供了通信双方必须共同遵守的规则,以及请求、响应等数据格式和序列化等逻辑操作。
(2)NIS+
NIS+ 是一种分布式的命名和认证服务。在分布式计算中,NIS+ 可以用于实现客户端与服务端之间的认证和授权。NIS+ 服务提供了相应的 API,可以通过程序调用实现认证和授权的操作。
四、RPC 工具
在 Linux 系统下,RPC 的实现需要用到一些工具和库,下面介绍几个常用的工具:
(1)RPCGEN
RPCGEN 是一个用于生成 C 代码的工具,可以将我们编写的 .x 文件转换成 C 语言的 RPC 代码,然后通过编译和链接生成相应的可执行文件。RPCGEN 能够帮助我们自动生成函数框架、网络协议和序列化代码,节省了编码的时间和精力。
(2)TIRPC
TIRPC 是一个开源的 ONC RPC 库,可以用于实现基于 ONC RPC 的分布式计算。TIRPC 提供了丰富的 API,可以无缝集成到我们的程序中,方便实现客户端与服务端之间的通信。
(3)JRPC
JRPC 是一个基于 ON 的 RPC 框架,可以用于实现异步调用和分布式服务的开发。JRPC 支持多种异步编程模型,包括回调函数、协程等,同时提供了丰富的扩展接口,可以快速实现各种需求。
五、
Linux 系统下的 RPC 技术是实现分布式计算的重要组成部分,可以方便地实现客户端与服务端之间的通信和远程调用。在实现 RPC 技术时需要注意选择合适的实现方式和协议,并熟练掌握相关的工具和库。希望本文能够对读者理解和使用 Linux 系统下的 RPC 技术有所帮助。
相关问题拓展阅读:
- LINUX操作系统安装rpc.rstatd报错请高手大神们教导。
- 【NFS】CentOS7.x NFS服务器和客户端设置
LINUX操作系统安装rpc.rstatd报错请高手大神们教导。
这个没有遇到过, 所以帮不到忙了,不过以后遇到了linux问题可以一起讨论了。
【NFS】CentOS7.x NFS服务器和客户端设置
NFS:Network file system,网络文件系统
sun公司1984年察昌推出,用来在网络中的多台计算机间实现资源共享(包括象文件或cd-rom)
设计的目的是:实现在不同系统间交互使用,所以它的通信协议采用与主机和操作系统轮高无关的技术
NFS Server可以看作是File Server,它可以让你的PC通过网络将远端得NFS SERVER共享出来的档案MOUNT到自己的系统中,在CLIENT看来使 用NFS的远端文件就象是在使用本地文件一样
FS协议从诞生到现在有多个版本:NFS V2(rfc1094),NFS V3(rfc1813)(最新的版本是V4(rfc3010)
RPC(Remote Procedure call)
NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议。而这 些传输协议用到这个RPC功能的。
NFS本身就是使用RPC的一个程序,或者说NFS也是一个RPC SERVER.所以只要用到NFS的地方都要启动RPC
服务,不论是NFS SERVER或者NFS CLIENT。这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。可以这么理解RPC和NFS的关系:NFS 是一个文件系统,而RPC是负责负责信息的传输。
nfs在系统中的后台守护进程: nfs
nfs服务需要启动的其他进程:
rpc.nfsd:接收从远程系统发来的NFS请求,并将这些请求转化为本地文件系统请求
rpc.mountd:执行被腊没尺请求的文件系统的挂接和卸载操作
rpc.portmapper:将远程请求映射到正确的NFS守护程序
rpc.statd:在远程主机重启时,提供加锁服务
rpc.quotaed:提供硬盘容量的管理能力,磁盘限额
在伺服器上使用 rpcinfo -p | grep -iE “service|NFS” 命令,显示伺服器上可使用的 NFS 版本
# rpcinfo -p | grep -iE “service|NFS”
表示伺服器可提供 NFS V3 和 NFS V4。
如果不需要krb5p,设置完就可以直接可以mount了
如果需要krb5p,在/etc/sysconfig/nfs文件中要设置
RPCNFSDARGS=”-N 4″
-N 表示禁用 ,也可以是”-N 3″或者”-N 2″,这是代表NFS版本,NFSv2,3,4,改完这个要将服务restart
这一项必须要填,不然client端会报错access错误,而server端不会有一点反应,连log中都不会出现报错!
CentOS 7 NFS设置
鸟哥的 Linux 私房菜 — NFS 伺服器
CentOS 7.x NFS Server 的防火墙设定
CentOS 7 NFS服务器和客户端设置
Linux NFS参数配置
NFS各个版本之间的比较
系统管理指南:网络服务
网络文件系统
关于linux 下rpc server的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
香港服务器首选树叶云,2H2G首月10元开通。
树叶云(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/195099.html<