# 🏆Special Users
- 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/
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'
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. - Embedded: Support embedding
RuleGo
into existing projects, non-invasive use of its features. - 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: process automation system, marketing automation system, docking
large model
to extract user intentions, and then trigger rule chain to link with other systems or perform business processing. - Flexible configuration and highly customized event processing framework: For different message types, perform asynchronous or synchronous processing.
# 🎈Code hosting
# 🧸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