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

原创 2013年12月02日 11:45:56

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代码托管中,


待续




相关文章推荐

e4a与电脑易语言服务端通信

  • 2014年06月14日 23:45
  • 9KB
  • 下载

comet4j java服务端推送消息到web页面实例

官网:http://code.google.com/p/comet4j/ 准备工作 下载服务端jar文件 Comet4J目前仅支持Tomcat6、7版本,根据...

看好你的门-攻击服务端(4)-HTTP参数注入攻击

首先需要声明,本文纯属一个毫无远见和真才实学的小小开发人员的愚昧见解,仅供用于web系统安全方面的参考。1、HTTP参数注入攻击如果用户提交的参数,被用做后端HTTP请求中的参数,这个时候就有可能会导...
  • ffm83
  • ffm83
  • 2015年03月12日 15:24
  • 1044

Fresco 源码分析(三) Fresco服务端处理(4) Producer处理体系的总结

NetworkFetchProducer.produceResults() 相关源码 在中间的producer处理过程中都没有自己适合的处理的时候,最终还是会调用到网络获取的produceResul...

单点登录CAS4-服务端登录页添加验证码

1、由于CAS使用了SpringWebFlow,所以我们想在登录页表单中增加属性就直接找\WEB-INF\login-webflow.xml 2、在第84行中找到表单的两个属性,我们加一个   同...
  • bitree1
  • bitree1
  • 2017年02月13日 17:00
  • 1471

(4) linux 3.x - server - TCP连接建立系列 — 服务端接收ACK段(二)

(4) linux 3.x - server - TCP连接建立系列 — 服务端接收ACK段(二)
  • ztguang
  • ztguang
  • 2017年04月03日 15:08
  • 254

阿里物联网套件-服务端SDK学习实践(基础篇-4查询产品类型信息)

这个很直白,例子中0是根目录(控制台中-创建产品-产品类型中并不存在),前面新建产品的例子中就用到产品类型,而且是必填项目。产品类型ID可以不是上面的这些Id,可以自己新建类型id,所以后期平台搭建要...

linux网络编程4:客户端和服务端的聊天

作为一个测试例子,自己做个记录,以备后续查找。 代码如下: 服务端代码: //客户端和服务端的聊天 //服务端代码 //服务端代码 #include #include #include #i...
  • ljp1919
  • ljp1919
  • 2015年08月25日 20:30
  • 887
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:服务端研发应具备的技能(4)
举报原因:
原因补充:

(最多只允许输入30个字)