Skip to content

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

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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