2014-04-22 5 views
0

Je cherche des solutions pour un scénario. Supposons une architecture orientée service (SOA) avec des centaines de services.Capacités ZeroMQ

Les services sont complètement isolés - ce qui se cache derrière leurs API est un détail d'implémentation.

Différents services peuvent avoir des stratégies de sécurité différentes, c'est-à-dire qui peut accéder au service. Par exemple, un service peut être entièrement public, accessible à un sous-ensemble d'employés, accessible à un sous-ensemble d'autres services, etc. Certains services peuvent même avoir spécifié le niveau API, par exemple un service public avec des appels API internes (est-ce une mauvaise idée?).

J'ai touché un peu sur ZMQ mais pas assez pour savoir si cette interconnexion de services peut être accomplie avec ZMQ. Toute aide pour décider s'il faut continuer à se concentrer sur ZMQ ou non sera très appréciée.

Répondre

1

Demandez-vous comment gérer la sécurité dans une architecture SOA? Ou demandez-vous s'il est faisable ou non de construire une SOA avec 0MQ?

Le premier vous demande de le construire vous-même. Vous devez définir votre propre stratégie de sécurité entre les services. Pas vraiment le domaine de 0MQ.

Pour ce dernier, oui, 0MQ devrait vous permettre de construire une architecture SOA. En fait, nous le faisons maintenant. Les services sont encapsulés dans des conteneurs avec un point de terminaison HTTP géré par nginx, qui reverse ensuite la requête à un (ou plusieurs) serveur nodejs à l'intérieur de express, ce qui permet de PUSH messages sur les sockets PULL des travailleurs sur une base de file. Une fois le traitement de la requête terminé, l'opérateur APPUYEZ sa réponse sur la socket PULL du serveur. De cette façon, nous pouvons faire tourner ou n'importe quel nombre de travailleurs que nous voulons avec une perturbation minimale du serveur. Et ceci est un service.

Le service de maintenance des communications est géré via REST-over-HTTP.