2009-10-28 4 views
1

Я новичок в Python. Просто хочу знать, есть ли какой-нибудь модуль в python, подобный drb ruby? Как клиент может использовать объект, предоставленный сервером drb?Есть ли какой-нибудь модуль Python, похожий на Distributed Ruby

+3

Если вы хотите расширить аудиторию, которая может ответить на ваш вопрос, вы можете описать, что делает Distributed Ruby (aka drb). Потому что я довольно строгий парень на Питоне, и я понятия не имею. – Omnifarious

+1

«Распределенный Ruby - это распределенная объектная система для Ruby, которая позволяет объекту в одном Ruby-процессе вызывать методы на объекте в другом Ruby-процессе на том же или другом компьютере». В основном, drb-сервер выступает в качестве источника объектов , Для клиента кажется, что объекты локальны, но код выполняется удаленно на стороне сервера. – ccy

+0

Вы можете отредактировать исходный вопрос, лучше разместите описание там. – nikow

ответ

6

Это, как правило, называют «объект брокерским» и списком некоторых пакетов Python в этой области можно найти, перейдя по ссылке брокерской деятельности объекта темы области Индекса here Python пакет.

Старейшим и наиболее широко используемым из них является Pyro.

0

Я понятия не имею, что DRB есть, но с небольшим количеством информации, которую вы дали, это может быть что-то вроде Perspective Broker in Twisted

Введение

Предположим, вы оказываетесь в управлении из оба конца провода: у вас есть две программы , которым необходимо поговорить с каждым другим, и вы можете использовать любой протокол , который вы хотите. Если вы можете думать о вашей задачи в терминах объектов, которые нуждаются в сделать вызовы методов друг на друга, то шансы, что вы можете использовать протокол скручены Перспектива Брокер , а не пытаться втиснуть свои потребности в чем-то вроде HTTP , или , реализующий еще один RPC механизм.

Система Perspective Broker (сокращенно PB, порождая многочисленные сэндвич связанных с каламбурами) основана на нескольких центральных понятий:

сериализации: принимать довольно произвольные объектов и типов, превращая их в кусок байтов , отправив их по проводам , затем восстановив их на другом конце . Сохраняя тщательный контроль идентификаторов объектов , сериализованные объекты могут содержать ссылки на другие объекты , а удаленная копия по-прежнему будет .

удаленный метод вызывает: делать то локальный объект и вызывает метод, чтобы работать на отдаленной. Локальный объект - , называемый RemoteReference, и вы делаете , используя его .callRemote .

2

Pyro делает то, что, я думаю, вы описываете (хотя я не использовал drb).

С сайта:

Pyro коротка для Пайтона удаленных объектов.Это усовершенствованная и мощная система распределенных объектов, полностью написанная на Python, которая очень проста в использовании. Никогда не беспокойтесь о написании кода сетевой связи еще раз, при использовании Pyro вы просто пишете объекты Python, как обычно. Используя только несколько строк дополнительного кода, Pyro позаботится о сетевой связи между вашими объектами, как только вы разделите их на разные машины в сети. Все детали программирования сокета gory позаботятся, вы просто вызываете метод на удаленном объекте, как если бы это был локальный объект!

+0

+1: pyro отлично –

+0

Это, но, учитывая, что вы отправили сначала и сумели предоставить список альтернатив, я не буду жалеть вашего ответа, получив больше голосов! – mavnn

Смежные вопросы