Skip to content

Question: Are custom nodes intended for I/O operations (DB writes, external integrations) ? #430

@maghibus

Description

@maghibus

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions