繁体   English   中英

是否有类似于分布式Ruby的Python模块

[英]Is there any Python module similar to Distributed Ruby

我是Python的新手。 只想知道python中是否有类似于ruby的drb的模块? 像客户端可以使用drb服务器提供的对象吗?

这通常称为“对象代理”,可以通过在此处浏览Python包索引的“对象代理”主题区域找到该区域中一些Python包的列表。

其中最古老,使用最广泛的是Pyro

Pyro会执行我认为您要描述的内容(尽管我没有使用过drb)。

从网站:

Pyro是PYthon远程对象的缩写。 它是一个完全用Python编写的先进而强大的分布式对象技术系统,其设计非常易于使用。 不必担心再次编写网络通信代码,使用Pyro时,只需像平常一样编写Python对象即可。 仅需几行额外的代码,一旦将对象拆分到网络上的不同机器上,Pyro就可以处理它们之间的网络通信。 所有gory套接字编程细节都已得到处理,您只需在远程对象上调用方法就好像它是本地对象一样!

标准的多处理模块可能会做您想要的。

我不知道什么是drb,但是根据您提供的少量信息,可能类似于Twisted中Perspective Broker

介绍

假设您发现自己控制着线路的两端:您有两个需要互相通信的程序,并且可以使用所需的任何协议。 如果您可以根据需要相互调用方法的对象来考虑问题,那么很有可能可以使用twisted的Perspective Broker协议,而不必尝试将需求塞入HTTP之类的东西,或者实现另一个RPC机制。

Perspective Broker系统(缩写为PB,产生许多与三明治相关的双关语)是基于一些中心概念:

序列化 :获取相当任意的对象和类型,将它们转换为字节块,通过电线发送它们,然后在另一端进行重构。 通过仔细跟踪对象ID,序列化的对象可以包含对其他对象的引用,并且远程副本仍然有用。

远程方法调用 :对本地对象执行某种操作,并导致一种方法在远程对象上运行。 本地对象称为RemoteReference,您可以通过运行其.callRemote方法来执行某些操作。

您看过execnet吗?

http://codespeak.net/execnet/

对于并行处理和分布式计算,我使用并行python

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM