XML-RPC

xmlrpc是使用http协议做为传输协议的rpc机制,使用xml文本的方式传输命令和数据。

一个rpc系统,必然包括2个部分:

1)rpc client,用来向rpc server调用方法,并接收方法的返回数据;

2)rpc server,用于响应rpc client的请求,执行方法,并回送方法执行结果。

RPC是Remote Procedure Call的缩写,翻译成中文就是远程过程调用,是一种在本地的机器上调用远端机器上的一个过程(方法)的技术,这个过程也被大家称为“分布式计算”,是为了提高各个分立机器的“互操作性”而发明出来的技术。

一、SimpleXMLRPCServer

SimpleXMLRPCServer :python 自 带的一个 RPC 库;

RPC的传输协议:UDP、TCP、HTTP、XXXP;

RPC的数据 协议有xml、json、各种私有二 进制协议(hessian amf3 … . )。  大公司的 google 的protocolbuffer,facebook的thrift 。

1.1 一个最 简单的 RPC  服 务器端

from SimpleXMLRPCServer import SimpleXMLRPCServer

def add(a , b):

return a+b

server = SimpleXMLRPCServer(("localhost", 8000))

server.register_function(add)

server.serve_forever()

测试客户端

from xmlrpclib import ServerProxy

server = ServerProxy("http://localhost:8000")

try:

ret = server.add(30,90)

print 'result:', ret

print 'result type:', type(ret)

except Exception as ex:

print "exception", ex

1.2服务器客户端都干了什么?

1  从客 户端打印出通讯的数据:

发向服务器的:

POST /RPC2 HTTP/1.0

Host: localhost:8000

User-Agent: xmlrpclib.py/1.0.1 (by  www.pythonware.com)

Content-Type: text/xml

Content-Length: 189

add

30

90

2  服 务器返回的数据:

HTTP/1.0 200 OK'

Server: BaseHTTP/0.3 Python/2.6.1

Date: Mon, 20 Jul 2009 05:33:09 GMT

Content-type: text/xml

Content-length: 123

120

特点:   http 协议传输协议, xml 做数据 协议应用协议。

因 为 http 只作 为传输协议   所以只使用了 post 方法。

python rpc 性能比较_Python与RPC -- (转)相关推荐

  1. python代码性能分析_Python 性能分析入门指南

    虽然并非你编写的每个 Python 程序都要求一个严格的性能分析,但是让人放心的是,当问题发生的时候,Python 生态圈有各种各样的工具可以处理这类问题. 分析程序的性能可以归结为回答四个基本问题: ...

  2. Dubbo之HTTP RPC vs Dubbo RPC性能压测

    公司内部的RPC框架,经过长时间的发展,已经由完全自研演进到底层替换为Dubbo实现,但使用方式(API)还是不变.由于使用了PB序列化协议,以及业务码+操作码定义接口的方式,非常影响开发效率,可理解 ...

  3. python性能分析工具模块_python——关于Python Profilers性能分析器

    1. 介绍性能分析器 profiler是一个程序,用来描述运行时的程序性能,并且从不同方面提供统计数据加以表述.Python中含有3个模块提供这样的功能,分别是cProfile, profile和ps ...

  4. python 爬虫性能_Python 爬虫性能相关总结

    这里我们通过请求网页例子来一步步理解爬虫性能 当我们有一个列表存放了一些url需要我们获取相关数据,我们首先想到的是循环 简单的循环串行 这一种方法相对来说是最慢的,因为一个一个循环,耗时是最长的,是 ...

  5. python培训报告,简述Python语言经验总结_python知识点总结_python培训

    这里介绍Python语言,包括介绍SQLObject.TurboGear.4Suite.Pyro.Twisted.wxPython.希望下面的文章会对你有所帮助. Python语言是不被大多数人知道的 ...

  6. RPC原理(1)之深入RPC原理简介

    一.RPC调用原理图 下面这张图是我们微服务一次Http调用请求图: 首先在请求的过程中我们知道是有三次握手,四次挥手的流程,具体流程如下: 1.浏览器请求服务器(订单服务),请求建立连接,首先客户端 ...

  7. RPC框架(一)RPC简介

    一.概述 二.RPC 2.1.RPC定义 2.2.RPC主要组成部分 三.影响RPC框架性能的因素 四.工业界的 RPC 框架一览 4.1.国内 4.2.国外 五.如何选择RPC框架 一.概述 随着公 ...

  8. JAVA RPC 生产级高可用RPC框架使用分享

    先放出链接,喜欢的给个star:https://gitee.com/a1234567891/koalas-rpc 一:项目介绍 koalas-RPC 个人作品,提供大家交流学习,有意见请私信,欢迎拍砖 ...

  9. 什么是RPC?RPC好处?常用的RPC框架?

    RPC(Remote Procedure Call Protocol)远程过程调用协议.一个通俗的描述是:客户端在不知道调用细节的情况下,调用存在于远程计算机上的某个对象,就像调用本地应用程序中的对象 ...

最新文章

  1. PostgreSQL中Timestamp转成世纪秒(Unix时间戳)
  2. iOS开发的一些奇巧淫技2
  3. javascript --- 利用Sortable实现一个可视化公式编辑器
  4. 基于 Apache Hudi 构建流批一体系统实践
  5. 中国经济转型知易行难
  6. Linux网络编程一步一步学-UDP方式点对点通讯
  7. 移动开发之设计稿转换页面单位尺寸
  8. linux下启动Oracle服务和监听程序
  9. 一步一步学EF系列【6、IOC 之AutoFac】
  10. unity3d棋牌游戏教程之手机斗地主的发牌功能实现
  11. CSS特效八:开关按钮
  12. 中南大学计算机学院研究生录取分数线,中南大学研究生录取分数线
  13. ECCV2016 paper list (完整版)
  14. 【“笨办法”学Python】27.记住逻辑关系——布尔逻辑表达式
  15. 网易视频云首推多路互动直播,引领直播新时代
  16. Progressive Layered Extraction: A Novel Multi-TaskLearning Model for Personalized Recommendations
  17. 资源宝分享wordpress主题后门检测清理技巧
  18. L2-003. 月饼
  19. cximage 进行gif 背景透明处理
  20. Glassfish Request URI is too large 问题的解决

热门文章

  1. 预定义的类型“Microsoft.CSharp.RuntimeBinder.Binder”未定义或未导入
  2. PHP关联数组和哈希表(hash table) 未指定
  3. notepad++ 设置常用快捷键
  4. [论文笔记] A model for correlated failures in N-version programming(IIE Trans, 2004)
  5. 一个简单的例子看java线程机制
  6. Win2003 Server手动设置全攻略
  7. android+qq换肤实现,QMUI 换肤 · Tencent/QMUI_Android Wiki · GitHub
  8. Java高级特性:clone()方法
  9. jquery实现表格拖拽排序
  10. 热点面试题目—Java异常