Que vous vous adressez très différentes Api ici, avec les différentes notions sur la nature des services fournis et de l'infrastructure pour chacun d'eux. Je ne sais pas assez sur MPI et la Propagation de répondre pour eux, mais je peux vous aider un peu plus avec ZeroMQ.
ZeroMQ est une simple messagerie bibliothèque de communication. Il ne fait rien d'autre que d'envoyer un message à différents pairs (y compris locaux) basé sur un ensemble restreint de la commune de modèles de messagerie (PUSH/PULL, DEMANDE/RÉPONSE, PUB/SUB, etc.). Elle gère la connexion du client, l'extraction, et la base de la congestion strictement basée sur ces modèles et que vous avez à faire vous même le reste.
Bien que semblant très restreint, ce simple comportement est surtout ce que vous auriez besoin pour la couche de communication de votre application. Il vous permet d'adapter très rapidement à partir d'un simple prototype, tout en mémoire, aux plus complexes, les applications distribuées dans divers environnements, en utilisant des proxys et des passerelles entre les nœuds. Cependant, ne vous attendez pas à faire le nœud de déploiement, de découverte de réseau, de serveur ou de surveillance; Vous devrez le faire vous-même.
Brièvement, l'utilisation zeromq si vous avez une application que vous souhaitez mettre à l'échelle de la simple multithread processus distribués et variable de l'environnement, ou que vous voulez expérimenter et de prototyper rapidement et que les solutions ne semble correspondre à votre modèle. Attendons cependant à mettre des efforts sur le déploiement et le suivi de votre réseau si vous souhaitez mettre à l'échelle d'un très grand groupe.