Sub-Cuby Federation
Mehrere Cuby-Instanzen können zusammenarbeiten, indem sie ProcessCube®-Instanzen untereinander teilen. Dies ermöglicht verteilte Setups, in denen ein übergeordneter Cuby auf die Engines und LowCodes entfernter Cubies zugreifen kann.
Übersicht
Funktionsweise
- Ein Plugin ruft
cuby.registerCuby(url, apiKey)auf - Cuby ruft
GET /api/processcubesdes entfernten Cuby ab - Jede entdeckte ProcessCube®-Instanz wird als
subcuby:{url}:{productId}in der ProcessCube Registry registriert - Eine Socket.IO-Verbindung wird für Live-Updates aufgebaut
- Neue oder entfernte ProcessCubes werden automatisch synchronisiert
Live-Synchronisation
Die Verbindung zu Sub-Cubies wird über Socket.IO aufrechterhalten:
| Event | Richtung | Beschreibung |
|---|---|---|
processcube:registered | Sub-Cuby → Parent | Neue ProcessCube®-Instanz verfügbar |
processcube:unregistered | Sub-Cuby → Parent | ProcessCube®-Instanz entfernt |
Cleanup
Beim Shutdown ruft Cuby disconnectAllSubCubys() auf, um alle Verbindungen sauber zu trennen.
Anwendungsfälle
Zentrales Management
Ein Cuby als zentrales Gateway zu mehreren Umgebungen (Produktion, Staging, Entwicklung). Alle ProcessCube®-Instanzen sind über eine Oberfläche erreichbar.
Verteilte Deployments
BPMN-Prozesse über cuby.deployProcesses() an Engines in verschiedenen Sub-Cubies deployen.
Ein Deployment-Plugin kann so Prozesse gleichzeitig in mehrere Umgebungen ausrollen.
Konfigurations-Sync
Plugin-Konfigurationen über mehrere LowCode-Instanzen verteilen. Änderungen werden über die Socket.IO-Verbindung automatisch synchronisiert.
Registrierung über Plugin
Die Sub-Cuby-Registrierung erfolgt über die Cuby Context API:
export async function deploy(productDir, config, onProgress, cuby, context) {
// Sub-Cuby registrieren
await cuby.registerCuby('https://staging.example.com:3847', config.apiKey);
// Alle ProcessCubes (lokal + remote) abrufen
const allProcessCubes = await cuby.getProcessCubes();
console.log('Verfügbare Instanzen:', allProcessCubes);
}Weiterführend
- Plugin-System — Cuby Context API
- Architektur — Gesamtarchitektur