2009-10-28 10 views
1

Je suis nouveau à Python. Je veux juste savoir s'il existe un module en python similaire à celui de ruby? Comme un client peut utiliser un objet fourni par le serveur drb?Y at-il un module Python similaire à Distribué Ruby

+3

Si vous voulez élargir le public qui peut répondre à votre question, vous pouvez décrire ce que Distributed Ruby (aka drb) fait. Parce que je suis plutôt un python et je n'en ai aucune idée. – Omnifarious

+1

"Distribué Ruby est un système d'objets distribués pour Ruby qui permet à un objet dans un processus Ruby d'appeler des méthodes sur un objet dans un autre processus Ruby sur la même machine ou sur une machine différente." Bacial, un serveur drb . Pour le client, il semble que les objets sont locaux, mais le code est exécuté à distance du côté serveur. – ccy

+0

Vous pouvez modifier votre question initiale, mieux mettre la description là-bas. – nikow

Répondre

6

Ceci est généralement appelé « objet courtage » et une liste de certains paquets Python dans ce domaine se trouvent en naviguant sur la zone objet sujet COURTAGE de l'indice Python Package here.

Le plus ancien et le plus largement utilisé est Pyro.

0

Je ne sais pas ce que DRB est, mais du peu d'informations que vous avez donné, il pourrait être quelque chose comme le Perspective Broker in Twisted

Présentation

Supposons que vous vous trouvez dans le contrôle de les deux extrémités du fil: vous avez deux programmes qui ont besoin de parler à chaque autre, et vous obtenez d'utiliser un protocole que vous voulez. Si vous pouvez penser à votre problème en termes d'objets qui ont besoin pour faire des appels de méthode sur l'autre, alors les chances sont bonnes que vous pouvez utiliser le protocole Broker Le point de vue tordu plutôt que d'essayer de caser vos besoins en quelque chose comme HTTP ou mettant en œuvre encore un autre mécanisme RPC .

Le système Broker Perspective (en abrégé PB, fraie de nombreux jeux de mots liés à sandwich ) est basé sur un quelques concepts centraux:

sérialisation: prendre assez arbitraires objets et types, les transformant dans un morceau d'octets, en les envoyant sur un fil , puis les reconstituer sur l'autre extrémité . En gardant une trace précise des ID d'objet , les objets sérialisés peuvent contenir des références à d'autres objets et la copie à distance sera toujours utile.

appelle la méthode à distance: faire quelque chose à un objet local et provoquant une méthode pour s'exécuter sur un lointain. L'objet local est appelé RemoteReference, et vous faites quelque chose en exécutant sa méthode .callRemote .

2

Pyro fait ce que je pense que vous décrivez (bien que je n'ai pas utilisé drb).

Depuis le site Web:

Pyro est l'abréviation de PYTHON objets à distance.C'est un système avancé et puissant de technologie d'objets distribués écrit entièrement en Python, qui est conçu pour être très facile à utiliser. Ne vous inquiétez plus de l'écriture du code de communication réseau, lorsque vous utilisez Pyro, vous écrivez simplement vos objets Python comme vous le feriez normalement. Avec seulement quelques lignes de code supplémentaire, Pyro s'occupe de la communication réseau entre vos objets une fois que vous les avez séparés sur différentes machines du réseau. Tous les détails de programmation du socket gore sont pris en charge, vous n'appelez qu'une méthode sur un objet distant comme s'il s'agissait d'un objet local!

+0

+1: pyro est excellent –

+0

C'est, mais donné vous posté d'abord et a réussi à fournir une liste d'alternatives ainsi je ne rechignerai pas votre réponse ayant reçu plus de votes! – mavnn

Questions connexes