python rpc服务_Python与RPC服务

RPC(远程过程调用)是一种通过网络从远程计算机程序上请求服务的协议。本文介绍了RPC的基本概念,展示了如何使用Python内置的xmlrp库创建简单的RPC服务端和客户端。服务端注册函数并等待客户端调用,客户端通过HTTP请求调用服务端方法并获取响应。
摘要由CSDN通过智能技术生成

RPC

1.什么是RPC

RPC 就是为解决服务之间信息交互而发明和存在的。

RPC(Remote Procedure Call)——远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。

RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。

首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。

在服务器端,进程保持睡眠状态直到调用信息到达为止。

当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息

然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。

RPC就是一种远程调用函数接口的方式,说白了,就是一种远程调用函数接口的方式,客户端和服务端之间约定一种契约(函数接口),然后服务端一直等待客户端的调用。

有点像平常的WEB网络请求。

一种用途是在多台服务器之间互相进行调用。

另一个用途则在于,不同编程语言之间都支持这种方式,像Python更是内置对其的支持,不需要额外安装什么库,所以可以直接在多语言的服务器之间互相进行调用。

Socket编程就是RPC通信

2.xmlrp库

简单的服务端

像web请求一样,我们需要确定供客户端访问的url和端口号,以及供客户端调用的方法实现,最后要让我们服务器一直处于等待被访问的状态:

rpc_server.py

from xmlrpc.server import SimpleXMLRPCServer

调用函数

def respon_string(str):

return “get string:%s”%str

if name == ‘main’:

server = SimpleXMLRPCServer((‘localhost’, 8888)) # 初始化

server.register_function(respon_string, “get_string”) # 注册get_string函数

print (“Listening for Client”)

server.serve_forever() # 保持等待调用状态

rpc_client.py

from xmlrpc.client import ServerProxy

if name == ‘main’:

server = ServerProxy(“http://localhost:8888”) # 初始化服务器

print (server.get_string(“RPC RPC”)) # 调用get_string函数并传参,调用get_string让服务端通过respon_string函数处理请求,并返回。

操作

#服务端启动:

[root@xujunk tmp]#python3 rpc_server.py

Listening for Client

#客户端启动:

[root@xujunk tmp]#python3 rpc_client.py

get string:RPC RPC #返回结果

标签:调用,服务,string,get,Python,server,RPC,客户端

来源: https://blog.csdn.net/LLand520/article/details/101194484

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值