RuleGo v0.18.0 veröffentlicht: Leichte, leistungsstarke, eingebettete, orchestrierbare, komponentenbasierte Regel-Engine

RuleGoEs handelt sich um eine Goleichte, leistungsstarke, eingebettete, programmierbare, komponentenbasierte Regel-Engine, die auf der Sprache basiert. Es handelt sich außerdem um eine flexible Konfiguration und ein hochgradig angepasstes Ereignisverarbeitungs-Framework. Unterstützt die Integration heterogener Systemdaten und kann Eingabenachrichten aggregieren, verteilen, filtern, transformieren, anreichern und verschiedene Aktionen ausführen.

Typische Nutzungsszenarien

  • Edge Computing: Es kann auf Edge-Servern eingesetzt werden, RuleGoum Daten vorzuverarbeiten, zu filtern, zu aggregieren oder zu berechnen, bevor sie an die Cloud gemeldet werden. Datenverarbeitungsregeln und Verteilungsregeln können über die Regelkette dynamisch konfiguriert und geändert werden, ohne dass das System neu gestartet werden muss.
  • Internet der Dinge: Gerätedaten sammeln und melden. Nach der Beurteilung der Regeln der Regelkette werden eine oder mehrere Aktionen ausgelöst, z. B. das Senden von E-Mails, das Senden von Alarmen und die Verknüpfung mit anderen Geräten oder Systemen.
  • Datenverteilung: Je nach Nachrichtentyp können HTTP, MQTT oder gRPC aufgerufen werden, um Daten an verschiedene Systeme zu verteilen.
  • Anwendungsintegration: Verwenden Sie es RuleGoals Klebstoff, um verschiedene Systeme oder Protokolle zu verbinden, z. B. SSH, Webhook, Kafka, Nachrichtenwarteschlange, Datenbank, ChatGPT und Anwendungssysteme von Drittanbietern.
  • Zentralisierte Verarbeitung heterogener Systemdaten: Empfangen Sie Daten aus verschiedenen Datenquellen (wie MQTT, HTTP, WS, TCP/UDP usw.), filtern Sie die Daten, konvertieren Sie das Format und verteilen Sie sie dann an Datenbanken, Geschäftssysteme usw Dashboards.
  • Stark individualisiertes Geschäft: Entkoppeln Sie stark individualisiertes oder sich häufig änderndes Geschäft und übergeben Sie es RuleGozur Verwaltung an die Regelkette. Geschäftsanforderungen ändern sich, ohne das Hauptprogramm neu zu starten.
  • Komplexe Geschäftsorchestrierung: Kapseln Sie das Geschäft in benutzerdefinierte Komponenten. Durch RuleGodie Orchestrierung und Steuerung dieser benutzerdefinierten Komponenten unterstützt die Geschäftslogik dynamische Anpassungen und Ersetzungen.
  • Microservice-Orchestrierung: Orchestrieren RuleGound steuern Sie Microservices oder rufen Sie dynamisch Dienste von Drittanbietern auf, um Geschäfte zu verarbeiten und Ergebnisse zurückzugeben.
  • Entkopplung von Geschäftscode und Geschäftslogik: Beispiel: Benutzerpunktberechnungssystem, Risikokontrollsystem.
  • Automatisierung: Zum Beispiel: Prozessautomatisierungssystem, Marketingautomatisierungssystem, Andocken zum 大模型Extrahieren von Benutzerabsichten und anschließendes Auslösen von Regelketten zur Verknüpfung mit anderen Systemen oder zur Durchführung von Geschäftsabwicklungen.
  • Flexible Konfiguration und hochgradig anpassbares Ereignisverarbeitungs-Framework: asynchrone oder synchrone Verarbeitung verschiedener Nachrichtentypen.

Architekturdiagramm

Dieses Update

Bauen Sie eine solide Grundlage, um das Jahr 2024 willkommen zu heißen. Dieses Mal fügen wir hauptsächlich Folgendes hinzu:

1. Fügen Sie den AOP- Mechanismus (Aspect Oriented Programming) hinzu, der einem Interceptor- oder Hook-Mechanismus ähnelt, aber leistungsfähiger und flexibler ist. dokumentieren

  • Es ermöglicht das Hinzufügen zusätzlicher Verhaltensweisen zur Ausführung der Regelkette, ohne die ursprüngliche Logik der Regelkette oder des Knotens zu ändern oder die ursprüngliche Regelkette oder Knotenlogik direkt zu ersetzen.
  • Es ermöglicht die Trennung einiger allgemeiner Verhaltensweisen (z. B. Protokollierung, Sicherheit, Verfolgung der Regelkettenausführung, Komponentenverschlechterung, Komponentenwiederholung, Komponenten-Caching) von der Geschäftslogik.
  • Es ermöglicht Ihnen eine bessere Kontrolle und Erweiterung des RuleGo-Frameworks.

2. Darüber hinaus wird die Zuverlässigkeitsüberprüfung der Produktionsumgebung hinzugefügt und eine große Anzahl von Unit-Tests (Abdeckung 92 %) und Leistungstest-Testfällen ( Link ) hinzugefügt.

Detailliertes Update:

[v0.18.0] 27.12.2023

  • Kunststück: Fügen Sie das AOP-Modul hinzu, mit dem Sie der Ausführung der Regelkette zusätzliche Verhaltensweisen hinzufügen können, ohne die ursprüngliche Logik der Regelkette oder des Knotens zu ändern, oder die ursprüngliche Regelkette oder Knotenlogik direkt ersetzen können. Folgende Erweiterungspunkte stehen zur Verfügung: Before Advice, After Advice, Around Advice, Start Advice, End Advice, Completed Advice, OnCreated Advice, OnReload Advice, OnDestroy Advice. dokumentieren
  • feat:restApiCall-Knotenkomponente, fügt SSE-Streaming-Anforderungsmodus (Server-Sent Events) hinzu und unterstützt das Andocken an große Modellschnittstellen.
  • Kunststück: CI-automatisierten Testprozess hinzufügen.
  • Kunststück: Fügen Sie eine große Anzahl von Unit-Tests hinzu und erreichen Sie eine Abdeckungsrate von 92 %.
  • Kunststück: Leistungstestfälle hinzufügen  .
  • feat:sendEmail-Knotenkomponente, ConnectTimeout-Konfiguration hinzufügen.
  • feat:/examples/server Beispielprojekt, fügt -js -plugins -chain_id Flags hinzu, unterstützt das Startladen von nativen js-Dateien und Plug-ins und gibt die ID der MQTT-Abonnementverarbeitungsregelkette an.
  • Fix: Im Beispielprojekt /examples/server kann der mehrschichtige Pfad des Regelkettenordners nicht normal analysiert werden.
  • fix:/examples/server Beispielprojekt, beim Speichern der Regelkette werden die alten Daten der Regelkettendatei möglicherweise nicht korrekt überschrieben.
  • Fix: Metadaten können gleichzeitig Lese- und Schreibprobleme haben.
  • Fix: Die Regel-Engine verarbeitet Daten synchron und es besteht die Möglichkeit, dass die Rückruffunktion onCompleted nicht korrekt aufgerufen werden kann.
  • fix:RuleChainPool-Null-Problem.
  • Fix: MQTT-Endpunkt, das Thema kann nicht über den Header abgerufen werden.
  • Mit der Rückruffunktion refactor:onEnd kann der Beziehungstyp abgerufen werden.
  • Refaktor: Funktion Configuration.GetToString löschen.
  • opt: einige Komponenten, verbesserte Nullprüfung.
  • Das Feld „Opt:dsl AdditionalInfo“ fügt das JSON-Tag „omitempty“ hinzu.
  • opt:run go fmt。

andere Informationen

  • Gerne können Sie Feedback oder Vorschläge zu Gitee oder Github einreichen    
  • Wenn Ihnen dieses Projekt gefällt, geben Sie uns bitte einen Stern
  • Offizielle Website des Dokuments: Rulego.cc

Supongo que te gusta

Origin www.oschina.net/news/272552/rulego-0-18-0-released
Recomendado
Clasificación