rulego/rulego

⛓️RuleGo is a lightweight, high-performance, embedded, next-generation component orchestration rule engine framework for Go.

解決する課題

RuleGo は、アプリケーションコードからビジネスロジックを分離するように設計された軽量で高性能なルールエンジンです。開発者は、アプリケーションの再起動なしにリアルタイムで変化するビジネス要件に応じて柔軟なシステムを構築でき、複雑または頻繁に変化するビジネスシナリオにおける肥大化し、保守が難しいコードの問題を解決します。

動作方法

コンポーネントベースのアーキテクチャを採用しており、ビジネスロジックは再利用可能なノードにカプセル化されます。これらのノードは、有向非巡回グラフ(DAG)として表現される「ルールチェーン」に整理され、効率的なメッセージ処理とルーティングを保証します。エンジンは既存のGoアプリケーション内に埋め込むライブラリとして、またはスタンドアロンのミドルウェアサービスとしてデプロイ可能です。Goプラグインを介してコンポーネントを動的にロードでき、ルールチェーンの定義にはJSONベースのドメイン固有言語(DSL)を使用します。

対象ユーザー

IoTエッジコンピューティング、データ統合パイプライン、自動化ワークフロー、低コードプラットフォーム、AIエージェントフレームワーク(例:LangFlowのようなシステム)など、ロジックを動的にオーケストレーションおよび更新する必要があるシステムを開発している開発者向けです。

特徴

  • 動的オーケストレーション: アプリケーションの再起動なしに、ルールチェーンのロジックをリアルタイムで更新し、ビジネスノードを置き換えることができます。
  • 高パフォーマンス: コルーチンとオブジェクトプールを活用し、低コストデバイス(例:Raspberry Pi)にも最適化されています。
  • 拡張性のあるアーキテクチャ: Kafka、MQTT、ChatGPTなどのサードパーティサービスとの統合や、カスタムコンポーネントの作成を可能にする豊富なインターフェースを提供します。
  • 二重デプロイモード: 埋め込みモードとスタンドアロンモードの両方をサポートしています。
  • 包括的なエコシステム: ビジュアルエディタ、自動化ワークフロー用サーバー、AI、IoT、ETL向けの専用コンポーネントライブラリを含みます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト