远程处理
如果你用完了单机的空间,可以扩展到其他机器.通过网络连接的一组计算机可以让你操作更多的多进程和多线程.
远程过程调用(RPC)其实运行在通过网络连接的远程机器上。
RPC客户端的工作原理
1、把你的函数参数转换成比特
2、把编码后的字节发送给远程机器
远程机器的工作原理
1、接收编码后的请求字节
2、接收完毕后,RPC客户端会把字节解码成原始的数据结构
3、客户端找到本地目标函数并用解码后的数据调用它
4、客户端编码函数执行的结果
5、客户端把编码后的字节发送给调用者
最后调用者把接收到的字节解码成返回值。
标准库中包含一种RPC实现, xmlrpc 使用xml格式文件作为传输格式
import xmlrpc.client
proxy = xmlrpc.client.ServerProxy('http://localhost:6789/')
num =7
result = proxy.double(num)
print(result)
from xmlrpc.server import SimpleXMLRPCServer
def double(num):
return num * 2
server = SimpleXMLRPCServer(('localhost', 6789))
server.register_function(double, 'double')
server.serve_forever()
另一种传输方式 Message-Pack ,(json...)
pip3 install msgpack-rpc-python
会安装tornado,
from msgpackrpc import Server, Address
class Services:
def double(self, num):
print(num)
return num * 2
server = Server(Services())
server.listen(Address('localhost',6789))
server.start()
from msgpackrpc import Client,Address
client = Client(Address('localhost',6789))
result = client.call('double',8)
print(result)

浙公网安备 33010602011771号