有没有类似于Distributed Ruby的Python模块

时间:2009-10-28 06:57:20

标签: python ruby drb

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

6 个答案:

答案 0 :(得分:6)

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

最古老且使用最广泛的是Pyro

答案 1 :(得分:2)

Pyro做我认为你正在描述的内容(尽管我没有使用过drb)。

来自网站:

  

Pyro是PYthon Remote Objects的缩写。它是一个先进且功能强大的分布式对象技术系统,完全用Python编写,设计非常易于使用。从不担心再次编写网络通信代码,使用Pyro时,您只需像平常一样编写Python对象。只需几行额外的代码,一旦您将对象分配到网络上的不同计算机上,Pyro就会负责对象之间的网络通信。所有的gory套接字编程细节都得到了处理,你只需要在远程对象上调用一个方法,就像它是一个本地对象一样!

答案 2 :(得分:1)

标准multiprocessing模块可能会执行您想要的操作。

答案 3 :(得分:0)

我不知道drb是什么,但是根据你给出的小信息, 它可能类似于Perspective Broker in Twisted

  

<强>简介

     

假设你发现自己处于控制之中   电线的两端:你有两个   需要与每个人交谈的计划   另外,你可以使用任何协议   你要。如果你能想到你的话   在需要的对象方面的问题   互相进行方法调用,   那么你可以使用的机会很大   twisted的Perspective Broker协议   而不是试图偷偷摸摸你的   需要像HTTP,或   实现另一个RPC   机构。

     

透视经纪人系统   (缩写为PB,催生了无数   三明治相关的双关语)是基于a   几个核心概念:

     

序列化 :服用相当随意   对象和类型,将它们变成一个   大块的字节,发送它们   电线,然后重新组成它们   另一端。通过仔细跟踪   对象id,序列化对象可以   包含对其他对象的引用   并且远程副本仍然是   有用。

     

远程方法调用 :正在做   对本地对象和   导致方法在a上运行   遥远的。本地对象是   称为RemoteReference,你做了   运行.callRemote的东西   方法

答案 4 :(得分:0)

你看过execnet吗?

http://codespeak.net/execnet/

答案 5 :(得分:0)

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