【问题标题】:Is there any Python module similar to Distributed Ruby有没有类似于分布式 Ruby 的 Python 模块
【发布时间】:2009-10-28 06:57:20
【问题描述】:

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

【问题讨论】:

  • 如果您想扩大可以回答您问题的受众,您可以描述分布式 Ruby(又名 drb)的作用。因为我是一个非常严格的 Python 人,我不知道。
  • "分布式 Ruby 是 Ruby 的分布式对象系统。它允许一个 Ruby 进程中的对象调用同一台或不同机器上另一个 Ruby 进程中的对象上的方法。" Bacially,drb服务器充当对象的来源。在客户端看来,对象是本地的,但代码是在服务器端远程执行的。
  • 你可以编辑你原来的问题,最好把描述放在那里。

标签: python ruby drb


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    Pyro 做了我认为你在描述的事情(尽管我没有使用过 drb)。

    来自网站:

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

    【讨论】:

    • 是的,但是鉴于您首先发布并设法提供了替代方案列表,我不会吝惜您的回答获得更多选票!
    【解决方案3】:

    标准的multiprocessing 模块可以做你想做的事。

    【讨论】:

      【解决方案4】:

      我不知道 drb 是什么,但是从您提供的少量信息来看, 它可能类似于Perspective Broker in Twisted

      简介

      假设你发现自己处于控制之中 电线两端的:你有两个 需要与每个人交谈的程序 其他,你可以使用任何协议 你要。如果你能想到你的 关于需要的对象的问题 互相调用方法, 那么你可以使用的机会很大 twisted 的透视代理协议 而不是试图硬塞你的 需要像 HTTP 之类的东西,或者 实现另一个 RPC 机制。

      透视经纪人系统 (简称PB,产卵众多 三明治相关的双关语)是基于一个 几个核心概念:

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

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

      【讨论】:

        【解决方案5】:

        你看过 execnet 吗?

        http://codespeak.net/execnet/

        【讨论】:

          【解决方案6】:

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

          【讨论】:

            猜你喜欢
            • 2017-03-20
            • 2012-07-19
            • 1970-01-01
            • 2010-09-28
            • 1970-01-01
            • 1970-01-01
            • 2014-10-09
            • 2021-12-29
            • 2011-07-21
            相关资源
            最近更新 更多