RuleGo RuleGo
🏠Home
  • Quick Start
  • Rule Chain
  • Standard Components
  • Extension Components
  • Custom Components
  • Visualization
  • RuleGo-Server
  • AOP
  • Trigger
  • Advanced Topics
  • Performance
  • Standard Components
  • Extension Components
  • Custom Components
  • Components Marketplace
  • Overview
  • Quick Start
  • Routing
  • DSL
  • API
  • Options
  • Components
🔥Editor (opens new window)
  • RuleGo Editor (opens new window)
  • RuleGo Server (opens new window)
  • StreamSQL
  • Github (opens new window)
  • Gitee (opens new window)
  • Changelog (opens new window)
  • English
  • 简体中文
🏠Home
  • Quick Start
  • Rule Chain
  • Standard Components
  • Extension Components
  • Custom Components
  • Visualization
  • RuleGo-Server
  • AOP
  • Trigger
  • Advanced Topics
  • Performance
  • Standard Components
  • Extension Components
  • Custom Components
  • Components Marketplace
  • Overview
  • Quick Start
  • Routing
  • DSL
  • API
  • Options
  • Components
🔥Editor (opens new window)
  • RuleGo Editor (opens new window)
  • RuleGo Server (opens new window)
  • StreamSQL
  • Github (opens new window)
  • Gitee (opens new window)
  • Changelog (opens new window)
  • English
  • 简体中文

广告采用随机轮播方式显示 ❤️成为赞助商
  • Quick Start

    • Introduction
    • Use Cases
    • Quick Start
    • Dynamic Refresh Rule Chain
  • Rule Chain

  • Standard Components

  • Extension Components

  • Custom Components

  • Components marketplace

  • Visualization

  • AOP

  • Trigger

  • Advanced Topic

  • Agent Framework

  • RuleGo-Server

  • FAQ

  • Endpoint Module

  • Support

  • StreamSQL

RuleGo

🚀A lightweight, high-performance, embedded, next-generation component-orchestrated rule engine based on Go language

Quick Start →

🧩Componentized

Everything is a component. Built-in a large number of components, you can flexibly configure and reuse them.

☘️Hot Reload

Without restarting the application, replace or add business logic.

✨Lightweight

Extremely low resource consumption. Born for the Internet of Things, but far more than the Internet of Things.

🎯Embedded

Self-developed architecture, strong scalability. It can be seamlessly integrated into the project. No dependency on any third-party components, simple deployment.

📑Configurable

By configuring the rule chain and endpoint, build blocks to achieve your highly variable business needs.

🔥Application Integration

You can use RuleGo as glue to connect various systems or protocols.

🧩Componentized

Everything is a component. Built-in a large number of components, you can flexibly configure and reuse them.

☘️Hot Reload

Without restarting the application, replace or add business logic.

✨Lightweight

Extremely low resource consumption. Born for the Internet of Things, but far more than the Internet of Things.

🎯Embedded

Self-developed architecture, strong scalability. It can be seamlessly integrated into the project. No dependency on any third-party components, simple deployment.

📑Configurable

By configuring the rule chain and endpoint, build blocks to achieve your highly variable business needs.

🔥Application Integration

You can use RuleGo as glue to connect various systems or protocols.

# 🏆Special Users

Sagoo IOT

An enterprise-level open source Internet of Things system based on Golang development

- name: Sagoo IOT
  desc: An enterprise-level open source Internet of Things system based on Golang development
  avatar: /img/sponsors/shaguo.png
  link: https://iotdoc.sagoo.cn/?from=rulego
  bgColor: '#f8c567' # Optional, default var(--bodyBg). When the color value has a #, please add single quotes
  textColor: '#1f2328' # Optional, default var(--textColor)
  expired: '2024-10-07'
1
2
3
4
5
6
7

Support this project Star RuleGo Star RuleGo


# 🚀Features

  • Lightweight: No external middleware dependencies, it can sink to the edge server, implement the Internet of Things edge computing solution, or deploy on the cloud as a rule engine service.
  • High performance: Thanks to the high-performance characteristics of Go, and the use of technologies such as coroutine pool and object pool.
  • Dual Mode: Embedded and Standalone Deployment modes. Supports embedding RuleGo into existing applications. It can also be deployed independently as middleware, providing rule engine and orchestration services.
  • Componentized: All business logic are components, and can be flexibly configured and reused. You can also encapsulate your business into RuleGo components, and then build blocks to achieve your highly variable business needs.
  • Rule chain: You can flexibly combine and reuse different components to achieve highly customized and extensible business processes.
  • Process orchestration: Support dynamic orchestration of rule chain components, without restarting the application, replace or add business logic.
  • Easy to extend: Provide rich and flexible extension interfaces, which can easily implement custom components or introduce third-party components.
  • Dynamic loading: Support dynamic loading of components and extension components through Go plugin.
  • Rule chain nesting: Support sub-rule chain nesting, achieve process reuse.
  • Built-in a large number of components: Message type routing, Script routing, Script filter, Script converter, HTTP push, MQTT push, Send email, Log record, Database operation and other components. You can also extend custom components by yourself.
  • Context isolation mechanism: Reliable context isolation mechanism, no need to worry about data cross-flow in high-concurrency situations.
  • AOP: Allows adding extra behavior to the execution of the rule chain, or directly replacing the original rule chain or node logic, without modifying the original logic of the rule chain or node.

# 🎯Typical use cases

  • Edge computing: You can deploy RuleGo on the edge server, preprocess the data, filter, aggregate or calculate and then report to the cloud. The data processing rules and distribution rules can be dynamically configured and modified by the rule chain without restarting the system.
  • Internet of Things: Collect device data reporting, after the rule chain's rule judgment, trigger one or more actions, such as: send email, send alarm, and linkage with other devices or systems.
  • Data distribution: You can distribute data to different systems according to different message types, such as HTTP, MQTT or gRPC.
  • Application integration: Use RuleGo as glue to connect various systems or protocols, such as: ssh, webhook, kafka, message queue, database, chatGPT, third-party application systems.
  • Heterogeneous system data centralized processing: Receive data from different data sources (such as MQTT, HTTP, TCP/UDP, etc.), and then filter, format conversion, and distribute to databases, business systems or dashboards.
  • Highly customized business: Decouple highly customized or frequently changing business and hand it over to RuleGo rule chain for management. Business needs change without restarting the main program.
  • Complex business orchestration: Encapsulate business into custom components, and use RuleGo to orchestrate and drive these custom components, and support dynamic adjustment and replacement of business logic.
  • Microservice orchestration: Use RuleGo to orchestrate and drive microservices, or dynamically call third-party services to process business and return results.
  • Decoupling of business code and business logic: For example: user points calculation system, risk control system.
  • Automation: For example: CI/CD systems, process automation systems, marketing automation systems, quantitative Trading System.
  • Low-code: For example: low-code platforms, iPaaS systems, ETL, Langflow-like/dify-like systems (connecting to 'large models' to extract user intent, then triggering rule chains to interact with other systems or to process business operations).
  • Flexible configuration and highly customized event processing framework: For different message types, perform asynchronous or synchronous processing.

# 🎈Code hosting

Gitee (opens new window) | Github (opens new window)

# 🧸Participate in contribution

We look forward to your PR!

  • Contribute code: Code Repository RuleGo (opens new window) , welcome to submit Issue or Pull Requests
  • Maintain documentation: Documentation Repository RuleGo-Doc (opens new window) , welcome to participate in translation and revision

# 🧲 Friendly links

Theme by Vdoing | Copyright © 2023-2026 RuleGo Team | Apache 2.0 License

  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式