Skip to content

Vue d'ensemble de l'architecture ​

Serverétat, dépôt de packages, configConsoleUI admin VueConsommateur externeclient lecture seuleEdgetourne sur un appareilPackagevotre code, × NControlHubConsumerHubEdgeHubOrbitMeshHublance et supervise (process local)

Un package parle directement au Server, pas via son Edge. PackageHost ouvre sa propre connexion SignalR vers OrbitMeshHub, avec une URI de Server et un AccessKey que l'Edge lui transmet comme arguments de lancement. L'Edge n'est jamais sur le chemin des messages ou de la télémétrie. Edge↔Package est une relation locale : démarrer, arrêter, surveiller le process OS. Edge↔Server (EdgeHub) est une connexion séparée pour l'enregistrement et le contrôle à distance.

  • Server détient le seul état persistant (appsettings.json) : Edges connus, identifiants, assignations de packages, et le dépôt de packages.
  • Edge est un hôte léger. Se connecte au Server, télécharge ses packages assignés, lance chacun comme son propre process OS. Il ne relaye pas leur trafic.
  • Package est votre code - une app console utilisant le SDK (voir Créer un package) - lancé par un Edge mais connecté directement au Server.
  • Console est une SPA statique hébergée par le Server, qui parle au Server via les mêmes hubs/API que n'importe quel autre client.

Quatre hubs SignalR ​

HubQui se connecteRôle
EdgeHubLes process EdgeEnregistrement, push de la liste de packages, contrôle à distance
OrbitMeshHubLes packages eux-mêmesMessages, telemetry items, settings, descripteurs de package
ControlHubLa ConsoleÉtat live des edges/packages, logs, actions de contrôle à distance
ConsumerHubConsommateurs externes en lecture seuleS'abonner aux messages/telemetry sans s'enregistrer comme un package

Chaque type de connexion ne porte que ce dont il a besoin. La Console n'a jamais besoin de parler le protocole des packages juste pour observer ce qui se passe.