Flow Configuration

Version 16.1 by Erik Bakker on 2024/03/01 11:59

eMagiz flows, or more specifically, the flow's inbound component(s), can be grouped. The effect is that you can later in Deploy, control them as one entity. This is mainly beneficial when faced with substantial maintenance or outage of systems connected to your eMagiz model.

Building on this functionality, you can even configure the group to run in an active/passive failover mode when you activate the multiple runtimes option on your runtime, and each separate runtime is deployed on another machine. The failover functionality is not only relevant in cases of server maintenance. It can also assist you when you want to exchange data with a system that allows only one active connection. Should this connection be business-critical, you can use this failover functionality to create a passive failover situation that will take over when the active connection breaks down (regardless of the reason). 

In this microlearning, we will focus on configuring the flow to group various inbound components and configure the flow (including the infra) if you want to activate the active/passive failover configuration.

Should you have any questions, please get in touch with academy@emagiz.com.

1. Prerequisites

  • Intermediate knowledge of the eMagiz platform

2. Key concepts

This microlearning describes how to configure (parts of) your flow(s) to set up the grouping and, if needed, the failover functionality on the flow level. The grouping functionality is relevant when faced with maintenance and outages of systems connected to your model. The failover functionality not only assists in that case but also allows you to have a fallback option on an active connection.

3. Flow Configuration

3.1 Grouping

To configure grouping, we need to open the flow designer of the flow in Create. We want to edit and enter "Start Editing" mode. On the inbound component(s) in the flow, we now have an "Advanced" tab that allows you to configure the grouping information.

grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-starting-point.png

Information

Note that the options above are available in all inbound components. The one chosen above is simply an illustration of how to configure.

Once on the "Advanced" tab, you must define the group name. You can determine the group name if this is the first flow you are changing. In all subsequent flows, you want to add to the same group, you must use the same group name.

grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-define-group-name.png

Once filled in, ensure that the auto startup configuration is set to Yes to ensure that, on default, all flows within the group start up when the container is started.

grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-define-auto-startup.png

Within a runtime context, you can add multiple groups that can be stopped and started separately from each other. In this example, we would also like to have a group for our exits to stop them if the connecting system undergoes maintenance or is down to store the messages in the queue.

grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-starting-point-exit.png

grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-other-group.png

3.2 Failover

In case you want to expand the grouping functionality to include a active/passive failover component you need to change the settings on the inbound component. Apart from specifying the name of the group you need to configure the auto-startup option on "No" so the failover configuration can take the correct actions in all situations.

grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-failover-example-group.png

grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-failover-other-group.png

Information

Note that each group within a single runtime that you want to treat differently needs to have a unique name.

3.3 Failover Infra

The configuration of the infra flow of the runtime for which you want to configure the failover is detailed and only works in case you configured all support objects correctly. Although we explain the various steps here in the documentation we advise to utilize the store item that we created for this that will guide you in setting this up correctly.

The configuration consists of at least three seperate support objects. Two of them are needed once (infinispan cache manager and clustered lock registry) were the other is needed per unique group you have defined within the context of your runtime. So if you have two unique group names within the runtime you need two leader initiator support objects.

Given this let us first look at the infinispan cache manager
emagiz-runtime-management--intermediate-runtime-management-deploy-agent-command.png

Once the agent is installed, eMagiz can manage the machine to deploy new runtimes or update runtimes as needed. Also, the container runtime can be controlled with start, stop, and reset commands. Please consult this microlearning to inspect the on-premises runtime logs.

4. Key takeaways

  • The eMagiz Docker agent needs to be installed to allow runtime to be installed on the on-premises server

5. Suggested Additional Readings

There are no suggested additional readings for this microlearning.