关闭

服务端研发应具备的技能(4)

589人阅读 评论(0) 收藏 举报
分类:

2,数据传输

2.1  gearman



2.2 RPC

先插一下百度百科内容:

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

工作原理

运行时,一次客户机对服务器的RPC调用,其内部操作大致有如下十步:

1.调用客户端句柄;执行传送参数

2.调用本地系统内核发送网络消息

3.消息传送到远程主机

4.服务器句柄得到消息并取得参数

5.执行远程过程

6.执行的过程将结果返回服务器句柄

7.服务器句柄返回结果,调用远程系统内核

8.消息传回本地主机

9.客户句柄由内核接收消息

10.客户接收句柄返回的数据



从这个说明中我们知道这个是不需要我们关注网络通信是如何过程,只需要实现client和server即可

在server中实现服务的接收并处理, client端发起处理请求,


看到这似乎与上面说的gearman相比这个在数据传输(仅仅需要数据传输上)好像没什么太大的关系!!!!

但是有一点: 这个可以提供网络上的通信调用服务

具体这个RPC的使用方法,我会在后面进一步说明,在这个系列中后面会以实际从需求示例到最后代码结构与使用方法都会说明,比如thrift(facebook开源的RPC), zookeeper(hadoop中的同步配置开源工具),这两个示例项目已经上传到google代码托管中,


待续




0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:432138次
    • 积分:4473
    • 等级:
    • 排名:第6662名
    • 原创:64篇
    • 转载:0篇
    • 译文:0篇
    • 评论:7条
    说明
    分享点滴