Skip to content
Diese Seite wurde mit KI-Unterstützung erstellt und übersetzt. Falls Ihnen Ungenauigkeiten auffallen, helfen Sie gerne bei der Verbesserung. Auf GitHub bearbeiten

Plugin-Architektur

Das PRX-Plugin-System basiert auf einer WASM-Laufzeit, die eine sichere, portable Ausfuhrungsumgebung fur Drittanbieter-Code bietet. Diese Seite beschreibt die technische Architektur.

Laufzeit

PRX verwendet die Wasmtime-Laufzeit zur Ausfuhrung von WASM-Plugins. Jede Plugin-Instanz lauft in ihrem eigenen WASM-Store mit isoliertem linearem Speicher.

┌──────────────────────────────┐
│         PRX Host             │
│                              │
│  ┌────────────────────────┐  │
│  │    WASM Runtime         │  │
│  │  ┌──────┐  ┌──────┐   │  │
│  │  │Plugin│  │Plugin│   │  │
│  │  │  A   │  │  B   │   │  │
│  │  └──┬───┘  └──┬───┘   │  │
│  │     │         │        │  │
│  │  Host Functions API    │  │
│  └────────────────────────┘  │
└──────────────────────────────┘

Host-Guest-Grenze

Plugins kommunizieren mit dem Host uber einen definierten Satz von Host-Funktionen. Die Grenze erzwingt:

  • Typsicherheit -- alle Funktionsparameter werden validiert
  • Ressourcenlimits -- Speicher- und CPU-Nutzung werden begrenzt
  • Berechtigungsprufungen -- jeder Host-Funktionsaufruf wird gegen das Berechtigungsmanifest des Plugins autorisiert

Speichermodell

Jedes Plugin hat seinen eigenen linearen Speicherbereich (Standard 64 MB). Daten werden zwischen Host und Guest uber gemeinsame Speicherpuffer mit expliziter Serialisierung ausgetauscht.

Plugin-Lebenszyklus

  1. Laden -- WASM-Binary wird geladen und validiert
  2. Initialisieren -- die init()-Funktion des Plugins wird mit der Konfiguration aufgerufen
  3. Bereit -- das Plugin registriert seine Fahigkeiten (Werkzeuge, Kanale usw.)
  4. Ausfuhren -- der Host ruft Plugin-Funktionen nach Bedarf auf
  5. Herunterfahren -- die shutdown()-Funktion des Plugins wird zur Bereinigung aufgerufen

Verwandte Seiten

Released under the Apache-2.0 License.