rulego/rulego
⛓️RuleGo is a lightweight, high-performance, embedded, next-generation component orchestration rule engine framework for Go.
What it solves
RuleGo is a lightweight, high-performance rule engine designed to decouple business logic from application code. It allows developers to build flexible systems that can respond to changing business requirements in real-time without requiring application restarts, solving the problem of bloated, hard-to-maintain code in complex or frequently changing business scenarios.
How it works
It uses a component-based architecture where business logic is encapsulated into reusable nodes. These nodes are organized into "rule chains" represented as Directed Acyclic Graphs (DAGs), which ensures efficient message processing and routing. The engine can be deployed as an embedded library within an existing Go application or as a standalone middleware service. It supports dynamic loading of components via Go plugins and uses a JSON-based Domain Specific Language (DSL) for defining rule chains.
Who it’s for
It is intended for developers building systems in IoT edge computing, data integration pipelines, automation workflows, low-code platforms, and AI agent frameworks (such as LangFlow-like systems) where logic needs to be orchestrated and updated dynamically.
Highlights
- Dynamic Orchestration: Update rule chain logic and replace business nodes in real-time without restarting the application.
- High Performance: Optimized for low-cost devices (e.g., Raspberry Pi) using coroutine and object pools.
- Extensible Architecture: Provides rich interfaces to create custom components or integrate third-party services like Kafka, MQTT, and ChatGPT.
- Dual Deployment: Supports both embedded and standalone deployment modes.
- Comprehensive Ecosystem: Includes a visual editor, a server for automation workflows, and specialized component libraries for AI, IoT, and ETL.
Related
- Project
- Project
- Project
- Project
- Project