Hello,
I am evaluating GoRules as a decision engine inside an IoT microservices architecture and I would like to better understand the intended use of custom nodes.
In my current system, the rule engine allows custom nodes that:
- write data to a database
- call external REST services
- publish messages to Kafka or MQTT
- trigger provisioning or other side effects
So they are not purely “decision” nodes, but also action nodes that interact with external systems.
Looking at GoRules, I see that custom nodes can be implemented to extend the decision logic. However, it is not completely clear to me whether they are intended only for:
- pure computations
- data transformations
- domain-specific logic
or if they can also be used for:
- database writes
- external API calls
- message publishing
- other side effects
In other words:
Is it considered a valid use case to implement custom nodes that perform I/O and integrate with external systems, or is GoRules designed to keep all side effects outside the decision engine?
If the latter is the recommended approach, could you briefly describe the intended architecture pattern for integrating GoRules with external systems?
Thank you in advance for the clarification.
Hello,
I am evaluating GoRules as a decision engine inside an IoT microservices architecture and I would like to better understand the intended use of custom nodes.
In my current system, the rule engine allows custom nodes that:
So they are not purely “decision” nodes, but also action nodes that interact with external systems.
Looking at GoRules, I see that custom nodes can be implemented to extend the decision logic. However, it is not completely clear to me whether they are intended only for:
or if they can also be used for:
In other words:
If the latter is the recommended approach, could you briefly describe the intended architecture pattern for integrating GoRules with external systems?
Thank you in advance for the clarification.