现在的位置: 首页 > 操作系统 > 正文

Linux编程之从零开始搭建RPC分布式系统

2020年02月10日 操作系统 ⁄ 共 1592字 ⁄ 字号 评论关闭

我一毕业进公司就接触到了RPC,主要是使用前辈们搭建好的RPC框架以及封装好的RPC函数进行业务开发,虽说使用RPC框架开发已经近半年了,但一直想知道如何从零开始搭建起这么一个好用的分布式通信系统框架,近日心血来潮,虽说没人教怎么搭建,但自己在网上查阅了大量资料后,开始自己一手一脚从零搭建这么一个RPC框架,所以就有了以下这篇文章,以记录我的搭建过程。

首先对RPC做一个简要介绍。

RPC的全称是Remote Procedure Call,它能够在本地以函数调用的形式来实现网络操作,让程序员集中关注于业务逻辑,不用关心底层的数据通信。

网络通信的应用程序大多数是使用显式网络编程(explicit network programming)的方式编写的,比如我们所熟悉的socket编程。客户端调用socket、connect、read和write,服务器则调用socket、bind、listen等函数。我们熟悉的大多数应用程序(Web浏览器、Web服务器、Telnet客户、Telnet服务器等程序)就是以这种方式编写的。

编写分布式应用程序的另一种方法就是使用隐式网络编程(implicit network programming)。远程过程调用(RPC)提供了这么一个工具。使用隐式网络编程的好处就是,程序员不需要把把大量精力放在网络通信程序的编写上,因为这一块工作已经有RPC框架帮你实现了,所以程序员可以把更多精力放在业务逻辑的开发上去。

这里就不对RPC做进一步详细的理论性解析,这篇文章主要讲述RPC的实践,我们将一步一步搭建起一个基于RPC的完整的分布式通信系统框架。本文分为两个部分,第一部分讲述如何利用rpcgen工具搭建起来RPC通用骨架,第二部分我们就使用该骨架进行进一步完善,增加相应的处理函数,把血肉补充完全,做一个简单的分布式计算系统demo。

参考资料:

    《UNIX网络编程.卷2:进程间通信(第2版)》[PDF] 下载见 http://www.xuebuyuan.com/Linux/2013-01/77936.htm《Linux C高级程序员指南》 PDF下载见 http://www.xuebuyuan.com/Linux/2017-02/140414.htm《rpcgen_mannual》

rpcgen_mannual PDF可以到Linux公社资源站下载:

------------------------------------------分割线------------------------------------------

免费下载地址在 http://linux.xuebuyuan.com/

用户名与密码都是www.xuebuyuan.com

具体下载目录在 /2017年资料/2月/9日/Linux编程之从零开始搭建RPC分布式系统/

下载方法见 http://www.xuebuyuan.com/Linux/2013-07/87684.htm

------------------------------------------分割线------------------------------------------

cccccc

一、使用rpcgen工具生成RPC底层骨架

1.生成my.x文件,然后在该文件编写以下程序

首先创建文件夹rpc(mkdir rpc),以后的所有文件都放在这个文件夹下。

创建my.x文件(my为文件名,.x为后缀):vi my.x

在my.x填入下面代码:

以上就上有关Linux编程之从零开始搭建RPC分布式系统的相关介绍,要了解更多Linux编程,RPC分布式系统,Linux编程之从零开始搭建RPC分布式系统,编程,Linux编程,Linux Shell,Android,Android教程,JAVA,C语言,Python,HTML5内容请登录学步园。

抱歉!评论已关闭.