J'ai des processus python serval qui se parlent via socket; chaque processus a un rôle ou une fonction spécifique. Ces processus s'exécutent initialement sur un réseau LAN (et l'ip des machines est statique), j'attribue donc une adresse IP et un numéro de port à chacun d'entre eux pour les laisser se trouver et se parler; mais quand je change d'environnement dynamique où l'adresse IP de chaque processus python n'est pas statique, il est fastidieux de configurer l'adresse IP du processus à chaque fois. Actuellement, j'utilise SSH pour me connecter et démarrer différents processus, et il y a deux machines avec de nombreux processus différents. Comment puis-je facilement déployer ces processus dans un environnement distribué, par exemple dans un réseau local sans fil ou sur l'ensemble de l'Internet afin qu'ils puissent se trouver par eux-mêmes; et je vais utiliser le meurtre de twitter pour distribuer mon code sur ces machines. Je suppose qu'il devrait y avoir quelque chose comme un service de nom, mais je ne suis pas sûr de ce que je devrais faire.Comment distribuer plusieurs processus python dans un environnement distribué
2
A
Répondre
1
vous pouvez
- utilisation dns au lieu d'adresses IP
- créer votre propre service de nom (peut-être un service de repos fournissant un registre et une fonction de recherche)
- utiliser une implémentation zeroconf comme Bonjour ou Avahi (en fonction de votre OS)
Questions connexes
- 1. Comment améliorer les performances de Lucene dans un environnement distribué?
- 2. Disposition efficace pour un serveur python distribué?
- 3. Répertoire de travail BuildAgent dans un environnement distribué
- 4. stockage fonction python dans l'ordinateur distribué
- 5. Comment rechercher efficacement des informations sur un UUID dans un environnement distribué?
- 6. Distribuer des applications Python
- 7. Comment implémenter un sémaphore distribué?
- 8. Comment exécuter un processus dans un environnement multi-utilisateur
- 9. Comment fonctionnent les singletons dans Google App Engine (ou plus généralement dans un environnement de serveur distribué)?
- 10. Comment distribuer un script en utilisant gdata-python-client?
- 11. Comment distribuer correctement l'application python basée sur python-fabric
- 12. Comment gérer plusieurs processus en Python?
- 13. Plusieurs commandes dans un environnement dans LaTeX
- 14. Comment distribuer/accéder aux fichiers de données dans Oeuf Python?
- 15. Comment est-ce que j'architecte Microsoft Project Server 2007 dans un environnement géographiquement distribué?
- 16. Comment mettre en œuvre correctement SignalR dans un environnement SOA distribué?
- 17. Comment distribuer une extension PHP pour une utilisation dans un environnement d'hébergement partagé
- 18. Distribué Acteurs dans Akka
- 19. Comment distribuer Python/Django App via RPM
- 20. Raw_input dans un processus Python
- 21. Sigmatisation numérique - environnement distribué - hachage et signature séparés
- 22. Chargement d'un processus 32 bits dans un environnement 64 bits
- 23. Obtenez CURRENT_FILE_ENCODING pour un fichier python ou un environnement
- 24. Comment éviter plusieurs instances de formulaires dans un environnement compact
- 25. Qu'entend-on par environnement distribué lié au SGBD?
- 26. synchronisation entre plusieurs processus en python
- 27. Tuer un processus python
- 28. Python pour un nouveau projet de calcul distribué?
- 29. Comment distribuer des fichiers multimédia Wordpress dans plusieurs sous-domaines
- 30. rabbitmq dans un environnement NAT
comment les démarrer sur les différentes machines? – ted
@ted J'utilise SSH pour les démarrer. Actuellement, je n'ai utilisé que deux machines. –
Vous les lancez manuellement ou par un script, si oui, comment le script sait-il à quelles machines se connecter? (Mes connaissances sur la zone sont limitées mais je dirais qu'il vous reste des options: a) le 'nameservice' que vous avez suggéré, un serveur qui est connu et distribue les adresses IP des autres pairs b) au démarrage vous envoyez l'ip depuis où vous envoyez la commande pour démarrer et ainsi avoir une connexion à votre réseau de processus. Le dernier peut causer des problèmes si un lien dans la chaîne meurt (voir commentaire suivant) – ted