Bonjour à tous,
Je commence un projet nommé "Argus". En gros, ce projet est un superviseur d'exécution de traitements d'un service de production.
J'ai imaginé une architecture et je souhaite la confronter au plus grand nombre pour savoir si elle est applicable dans diverses organisations. Nous avons souvent tendance à penser que tout le monde fait comme dans l'endroit où on bosse
L'idée principale est d'avoir un serveur principal (Argus) qui communiquent avec 1 ou plusieurs autres serveurs (Les yeux d'Argus). Les yeux sont chargés d'exécuter les traitements sur le serveur où ils sont lancés sous la forme d'agent. Argus traite les demandes utilisateurs (exemple: un service de production) et en fonction de la charge de ses yeux (ou de leur spécialité pour certains traitements) il sélectionne le plus disponible.
Pour avoir une architecture simple, je vois que l'ensemble des serveurs (Argus and Co) sont présents dans le même domaine réseau. Ainsi, ils pourront communiquer simplement et rapidement via des connexions simples. Pour un minimum de sécurité, une connexion sécurisée sera entre Argus et les utilisateurs. En effet, les utilisateurs n'auront qu'Argus comme interlocuteur. L'ensemble des informations du système se fera entre Argus et ses yeux.
Je joins à ce message un schéma présentant une vision très abstraite de l'architecture que j'imagine.
Qu'en pensez-vous ? Est-ce une architecture facilement implémentable dans une grand nombre d'organisation ?
Merci de vos commentaires et idées
Edit:
Je pense revoir la copie pour réduire le couplage entre les yeux d'Argus et la BDD. Je pense que chaque agent devrait tourner de manière autonome (en stockant dans un fichier en local si besoin) et seulement se contenter de faire des notifications au serveur principal Argus.
Edit:
Je modifier l'image présentant l'architecture initiale d'Argus.
Partager