Last modified by Danniar Firdausy on 2024/09/27 09:18

From version 34.1
edited by Bouke Reitsma
on 2024/03/15 09:42
Change comment: There is no comment for this version
To version 28.1
edited by Bouke Reitsma
on 2024/03/01 15:56
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -3,7 +3,7 @@
3 3  (((
4 4  eMagiz flows, or more specifically, the flow's inbound component(s), can be grouped. How to configure this is explained [[here>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.Grouping and Failover.intermediate-grouping-and-failover-flow-configuration.WebHome||target="blank"]]. This functionality is mainly beneficial when faced with substantial maintenance or outage of systems connected to your eMagiz model.
5 5  
6 -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).
6 +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).
7 7  
8 8  In this microlearning, we will focus on configuring the deployment plan to control various inbound compoments in a normal and in a failover configuration.
9 9  
... ... @@ -25,20 +25,60 @@
25 25  
26 26  == 4. Failover Deployment Step ==
27 27  
28 -The configuration of a failover deployment step is similar as for the Group deployment step. The only difference is the action you can activate. The stop group actions make the inbounds of the currently selected container stop. If this group is the leader of the failover group. It will deactivate this group and start orignal follower group. However, it disables failover. Therefore, from this point were are running in a dubble setup in which we have single node leaders.
28 +If you want to expand the grouping functionality to include an active/passive failover component, you need to change the settings on the inbound component. Apart from specifying the group name, you need to configure the auto-startup option on "No" so the failover configuration can take the correct actions in all situations.
29 29  
30 -[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-deploy-disabled-failover.png]]
30 +[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-failover-example-group.png]]
31 31  
32 -The start group step with failover will activate the current container as the leader of the failover setup. Therefore, resembling group names on other containers will become the followers. If these flows were running, they will be stopped.
32 +[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-failover-other-group.png]]
33 33  
34 -[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-deploy-possibilities-failover-deployment-step.png]]
34 +{{info}}Note that each group within a single runtime that you want to treat differently needs to have a **unique** name.{{/info}}
35 35  
36 +== 3.3 Failover Infra ==
37 +
38 +The configuration of the infra flow of the runtime for which you want to configure the failover is detailed and only works if you configure all support objects correctly. Although we explain the various steps in the documentation, we advise utilizing the store item we created for this that will guide you in setting this up correctly.
39 +
40 +The configuration consists of at least three separate support objects. Two are needed once (infinispan cache manager and clustered lock registry), whereas the other is required 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.
41 +
42 +=== 3.3.1 Infinispan Cache Manager ===
43 +
44 +Given this, let us first look at the Infinispan cache manager. You can add this support object in the [[standard manner>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-create-support-objects-introduction||target="blank"]] by searching for "infinispan cache manager."
45 +
46 +[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-cache-manager-search-result.png]]
47 +
48 +Once found, give it a name and fill in a cluster name.
49 +
50 +[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-cache-manager-basic.png]]
51 +
52 +Once done, switch to the "Advanced" tab, select the option "TCP Ping," and fill in the "Host address" and "Other host addresses". Once filled in, press Save to keep your changes.
53 +
54 +[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-cache-manager-advanced.png]]
55 +
56 +=== 3.3.2 Clustered Lock Registry ===
57 +
58 +Now that we have the cache manager, we can configure the next support object on our list, the clustered lock registry. You can add this support object in the [[standard manner>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-create-support-objects-introduction||target="blank"]] by searching for "lock registry."
59 +
60 +[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-lock-registry-search-result.png]]
61 +
62 +Once found, name it and select the cache manager support object you created.
63 +
64 +[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-lock-registry-basic.png]]
65 +
66 +=== 3.3.3 Leader Initiator ===
67 +
68 +Lastly, we need to configure a leader initiator for each **unique** group we have defined within the context of the runtime, and that uses the failover functionality. You can add this support object in the [[standard manner>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-create-support-objects-introduction||target="blank"]] by searching for "leader."
69 +
70 +[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-leader-initiator-search-result.png]]
71 +
72 +Once found, give it a name, define the role name (which should **exactly** match the name you gave in the inbound components), and link it to the lock registry.
73 +
74 +[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-leader-initiator-basic.png]]
75 +
36 36  == 5. Key takeaways ==
37 37  
38 38  * Grouping is beneficial when external systems go through maintenance or downtime.
39 39  * Failover can have the additional benefit of having a fallback scenario while still adhering to the requirement that there can only be one active connection at a time
40 -* The role naming in both grouping and failover is crucial. The group name needs to match **exactly** to make it work.
41 -* You can control group and failover steps from the deployment plan
80 +* The role naming in both grouping and failover is crucial. The whole name needs to be matched fully to make it work.
81 +* For the infra configuration of the failover setup, we have a store item that you can use.
42 42  
43 43  == 6. Suggested Additional Readings ==
44 44