python rpc 性能比较_Python与RPC -- (转)
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 -- (转)相关推荐
- python代码性能分析_Python 性能分析入门指南
虽然并非你编写的每个 Python 程序都要求一个严格的性能分析,但是让人放心的是,当问题发生的时候,Python 生态圈有各种各样的工具可以处理这类问题. 分析程序的性能可以归结为回答四个基本问题: ...
- Dubbo之HTTP RPC vs Dubbo RPC性能压测
公司内部的RPC框架,经过长时间的发展,已经由完全自研演进到底层替换为Dubbo实现,但使用方式(API)还是不变.由于使用了PB序列化协议,以及业务码+操作码定义接口的方式,非常影响开发效率,可理解 ...
- python性能分析工具模块_python——关于Python Profilers性能分析器
1. 介绍性能分析器 profiler是一个程序,用来描述运行时的程序性能,并且从不同方面提供统计数据加以表述.Python中含有3个模块提供这样的功能,分别是cProfile, profile和ps ...
- python 爬虫性能_Python 爬虫性能相关总结
这里我们通过请求网页例子来一步步理解爬虫性能 当我们有一个列表存放了一些url需要我们获取相关数据,我们首先想到的是循环 简单的循环串行 这一种方法相对来说是最慢的,因为一个一个循环,耗时是最长的,是 ...
- python培训报告,简述Python语言经验总结_python知识点总结_python培训
这里介绍Python语言,包括介绍SQLObject.TurboGear.4Suite.Pyro.Twisted.wxPython.希望下面的文章会对你有所帮助. Python语言是不被大多数人知道的 ...
- RPC原理(1)之深入RPC原理简介
一.RPC调用原理图 下面这张图是我们微服务一次Http调用请求图: 首先在请求的过程中我们知道是有三次握手,四次挥手的流程,具体流程如下: 1.浏览器请求服务器(订单服务),请求建立连接,首先客户端 ...
- RPC框架(一)RPC简介
一.概述 二.RPC 2.1.RPC定义 2.2.RPC主要组成部分 三.影响RPC框架性能的因素 四.工业界的 RPC 框架一览 4.1.国内 4.2.国外 五.如何选择RPC框架 一.概述 随着公 ...
- JAVA RPC 生产级高可用RPC框架使用分享
先放出链接,喜欢的给个star:https://gitee.com/a1234567891/koalas-rpc 一:项目介绍 koalas-RPC 个人作品,提供大家交流学习,有意见请私信,欢迎拍砖 ...
- 什么是RPC?RPC好处?常用的RPC框架?
RPC(Remote Procedure Call Protocol)远程过程调用协议.一个通俗的描述是:客户端在不知道调用细节的情况下,调用存在于远程计算机上的某个对象,就像调用本地应用程序中的对象 ...
最新文章
- PostgreSQL中Timestamp转成世纪秒(Unix时间戳)
- iOS开发的一些奇巧淫技2
- javascript --- 利用Sortable实现一个可视化公式编辑器
- 基于 Apache Hudi 构建流批一体系统实践
- 中国经济转型知易行难
- Linux网络编程一步一步学-UDP方式点对点通讯
- 移动开发之设计稿转换页面单位尺寸
- linux下启动Oracle服务和监听程序
- 一步一步学EF系列【6、IOC 之AutoFac】
- unity3d棋牌游戏教程之手机斗地主的发牌功能实现
- CSS特效八:开关按钮
- 中南大学计算机学院研究生录取分数线,中南大学研究生录取分数线
- ECCV2016 paper list (完整版)
- 【“笨办法”学Python】27.记住逻辑关系——布尔逻辑表达式
- 网易视频云首推多路互动直播,引领直播新时代
- Progressive Layered Extraction: A Novel Multi-TaskLearning Model for Personalized Recommendations
- 资源宝分享wordpress主题后门检测清理技巧
- L2-003. 月饼
- cximage 进行gif 背景透明处理
- Glassfish Request URI is too large 问题的解决
热门文章
- 预定义的类型“Microsoft.CSharp.RuntimeBinder.Binder”未定义或未导入
- PHP关联数组和哈希表(hash table) 未指定
- notepad++ 设置常用快捷键
- [论文笔记] A model for correlated failures in N-version programming(IIE Trans, 2004)
- 一个简单的例子看java线程机制
- Win2003 Server手动设置全攻略
- android+qq换肤实现,QMUI 换肤 · Tencent/QMUI_Android Wiki · GitHub
- Java高级特性:clone()方法
- jquery实现表格拖拽排序
- 热点面试题目—Java异常