Changes for page Failover - Deploy Possibilities
Last modified by Erik Bakker on 2024/09/27 14:07
From version 28.97
edited by dfirdausy
on 2024/09/26 16:19
on 2024/09/26 16:19
Change comment:
There is no comment for this version
To version 20.1
edited by Erik Bakker
on 2024/03/01 13:30
on 2024/03/01 13:30
Change comment:
There is no comment for this version
Summary
-
Page properties (3 modified, 0 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 - Setting upFailover- Deploy Phase1 +Flow Configuration - Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. dfirdausy1 +XWiki.ebakker - Content
-
... ... @@ -1,77 +1,106 @@ 1 1 {{container}} 2 2 {{container layoutStyle="columns"}} 3 3 ((( 4 +eMagiz flows, or more specifically, the flow's inbound component(s), can be grouped. The effect is that you can later in [[Deploy>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.Grouping and Failover.intermediate-grouping-and-failover-deploy-possibilities.WebHome||target="blank"]], control them as one entity. This is mainly beneficial when faced with substantial maintenance or outage of systems connected to your eMagiz model. 4 4 5 - In the previousmicrolearning,we discussedwhatneedstobedoneintheCreatephaseto enablefailoverfor systemsthat areconfiguredto have themintheDesignphase. Nextto that,wealsodiscussedthatsettingup thisfailover functionality inyourmodel requires youtoexecutesomesteps in yourDesign, Create,andlastlyDeployphase. Pickingupfromwhatwehave toggled intheCreatephase,in thismicrolearning,wewillfocusonthesteps and configurationsthatyouhaveto make in theDeployphase toactivatetheactive/passivefailover functionality.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 6 8 +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. 9 + 7 7 Should you have any questions, please get in touch with [[academy@emagiz.com>>mailto:academy@emagiz.com]]. 8 8 9 9 == 1. Prerequisites == 10 10 11 -* Intermediate knowledge of the eMagiz platform .14 +* Intermediate knowledge of the eMagiz platform 12 12 13 13 == 2. Key concepts == 14 14 15 -This microlearning describes what configurationthat youwill have todo inthe Deployphase, based on whatyou haveconfiguredinthe DesignandCreatephase, toenablefailover for systems connecting withyourmodel. The groupingandfailover functionality is relevant when faced with maintenance and outages of systems connected to your model. The failover functionality assists in that case and allows you to have a fallback option on an active connection.18 +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 assists in that case and allows you to have a fallback option on an active connection. 16 16 17 -== 3. DeployPhaseConfiguration ==20 +== 3. Flow Configuration == 18 18 19 -== 3.1 Deploy Architecture==22 +== 3.1 Grouping == 20 20 21 - After finishing up yourconfiguration in theCreate phase, youcanthenmove toyour Deploy>Architecture.Here, you will seethenewrouter containers,whichwehaveseeninthe Design>Architecture,to be addedtoyourexternalmachines.Whenyou press"Start Editing"in thispage,andthenpress "Apply to environment", youwillbefacedwithapop-up pagethatinforms you that these routercontainers will becreatedforthis specific environmentas shown inthe screenshot below.24 +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. 22 22 23 -[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover- setting-up-failover-deploy-phase-router-containers.png]]26 +[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-starting-point.png]] 24 24 25 - Once you have applied the changes, when you goto the"Details" of eachof those machines via right-clickingthem,then you can find and setfor each failover runtime the preferred machine to be the leader. As an example shown in the screenshotbelow, therearetwo runtimes thatare enabled for failoverand you can selectwhether that runtime runningin that "External01" machine is the preferredleader.Another optionis toset the runtimethat you select as the backup,or reset it back to "None" if you want.Nexttothat,noticethat here youcan find the"InternalIPaddress" and "Failoverport" fields,whichhave beenpre-filled in with property placeholders. We will comebacktothese propertieslaterinthefollowingsections.28 +{{info}}Note that the options above are available in all inbound components. The one chosen above is simply an illustration of how to configure.{{/info}} 26 26 27 - [[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-setting-up-failover-deploy-phase-failover-preference.png]]30 +Once on the "Advanced" tab, you must define the group name. You can determine the group name if this is the first flow you change. In all subsequent flows, you want to add to the same group, you must use the **same** group name. 28 28 29 - Whenyou havemadeyour decision,andassuming that yourmachines arealready deployedandrunning, then you canmovetotheotherpage discussedinthenext section.32 +[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-define-group-name.png]] 30 30 31 - ==3.2DeploymentPlan==34 +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. 32 32 33 - If this is the first time that you configureyour failover setup, thenthenextstepin Deploy is tocheck yourDeployment Plan.Here, youcan add a deployment step called "Balancefailover", which, whenexecuted, will trigger the failover container(s)to berunningonits preferredmachine as you previouslyconfiguredtheminDeploy>Architecture. Seethescreenshotbelow.36 +[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-define-auto-startup.png]] 34 34 35 - [[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-setting-up-failover-deploy-phase-balance-failover.png]]38 +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. 36 36 37 - Tomakesure that this functionality workscorrectly, thenthis step shouldbeplaced at the endofyour deploymentplan (i.e., afterthe deployment ofallruntimesandensure that all ofthe failoverconnector runtimes areup andrunning). See thescreenshotbelow as an example.40 +[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-starting-point-exit.png]] 38 38 39 -[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover- setting-up-failover-deploy-phase-deployment-plan.png]]42 +[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-other-group.png]] 40 40 41 -== 3. 3Deploy Release==44 +== 3.2 Failover == 42 42 43 - Onceyouhave configuredyourDeployment Plan,thenitistimeto createanewrelease foryour updatedflowsintheDeploy>Releasepage. As youmight havenoticedintheDeploy>Architecture earlier when openingthe"Failover" tab inyourmachines' "Details",thereareproperties regarding themachines' "Internal IP address" and "Failoverport".It is thenbecomesnatural thatyoufirstneed to fillintheseproperty valuesinthe environmentthatyouareworkingon at themoment(i.e., Testing,Acceptance,Production).46 +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. 44 44 45 - To do this, you can click the "wrench" icon on the right hand sidebeside the "Create phase" release and then press "New".In the pop-up presented to you, you can click the "Name" input fieldand thensearch for the property placeholder names that you saw earlier.Theidea here is that you fill in theIPaddress and the (open) port of the external machines.Thus, basedon the exampleabove, youcansearch for the keyword "external01.failover.internal-ip"andthen select it. Afterward, youcan set thisproperty asglobal for simplicity andfill in the correctvalue. The screenshot belowshows anexample ofthe end result. Once you have done so,then you cando the samefor the other property (i.e., "external01.failover.port") and as wellas theproperties for the second machine.48 +[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-failover-example-group.png]] 46 46 47 -[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover- setting-up-failover-deploy-phase-failover-properties.png]]50 +[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-failover-other-group.png]] 48 48 49 - Whenyou are done,then you cansaveyourchanges,and proceedwithcreatinga new release.Forthis, youwillneedto createa new release fromyour"Create phase", inordertoinclude all configurationsthateMagiz has providedin your nowfailover-enabledCreatephase.Once youhavedone this, give the releaseaname and saveit, then youcan proceedwith activating the releaseand deploy it.52 +{{info}}Note that each group within a single runtime that you want to treat differently needs to have a **unique** name.{{/info}} 50 50 51 -== 3.3 TriggerFailover ==54 +== 3.3 Failover Infra == 52 52 53 - Once youhavesuccessfully deployedandrun yourrelease withthe failoverconnectorruntimes,thenyoucan observe the followerandleadership status of your failoverconnectorruntimes inyourDeploy>Architecture.There,if youright-click yourexternalmachines(which have the failoverconnectorruntimes) and select[["Start/Stopflows">>doc:Main.eMagizAcademy.Microlearnings.IntermediateLevel.eMagiz RuntimeManagement.intermediate-emagiz-runtime-management-start-stop-flows.WebHome||target="blank"]],underthe"Groups"tab, you will findthe"Group name","Failoverstatus", aswellas the"State"the connectorruntime isin atthatmoment (whetheritisnowOnor Off). Seethescreenshotbelow as an example.56 +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. 54 54 55 - [[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-setting-up-failover-deploy-phase-start-stop.png]]58 +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. 56 56 57 - Theexampleabove shows that, inthat moment, thefirst runtime instanceis currentlyactive and acting as theLeader, while the second runtime instance that acts as the Follower is Off. You can also manually switch the leadership from one to another by clickingthePlay orStop button on the right-side.60 +=== 3.3.1 Infinispan Cache Manager === 58 58 62 +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." 63 + 64 +[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-cache-manager-search-result.png]] 65 + 66 +Once found, give it a name and fill in a cluster name. 67 + 68 +[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-cache-manager-basic.png]] 69 + 70 +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. 71 + 72 +[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-cache-manager-advanced.png]] 73 + 74 +=== 3.3.2 Clustered Lock Registry === 75 + 76 +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." 77 + 78 +[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-lock-registry-search-result.png]] 79 + 80 +Once found, name it and select the cache manager support object you created. 81 + 82 +[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-lock-registry-basic.png]] 83 + 84 +=== 3.3.3 Leader Initiator === 85 + 86 +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." 87 + 88 +[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-leader-initiator-search-result.png]] 89 + 90 +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. 91 + 92 +[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-leader-initiator-basic.png]] 93 + 59 59 == 4. Key takeaways == 60 60 61 -* By enablingmultipleruntimes across different machines, you canconfiguregroupsto operate inactive/passivefailovermode, ensuringcontinuedoperation duringconnection failures, systemmaintenances,or outages.62 -* In the Deploy>Architecturesection, users canconfigure therouter containersand setpreferredmachinesforfailoverruntime leadership.Thisensuresthatsystems arepreparedtohandlefailoverscenarios.63 -* If users assigned thefailoverIPaddressesandPortsproperties asglobal properties, users must configurea"Balancefailover"deploymentstepto triggerthefailovercontainer(s)to berunning on its preferredmachineas youpreviouslyconfiguredthem inDeploy>Architecture.64 -* Afterdeployment, userscanmonitorthe failover status,including leadershiproles,in Deploy>Architecture, and canmanuallyswitchbetweenactive(Leader)andbackup (Follower) runtimesif needed.96 +* Grouping is beneficial when external systems go through maintenance or downtime. 97 +* 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 98 +* The role naming in both grouping and failover is crucial. The whole name needs to be matched fully to make it work. 99 +* For the infra configuration of the failover setup, we have a store item that you can use. 65 65 66 66 == 5. Suggested Additional Readings == 67 67 68 -If you are interested in this topic and want more information, please read the help text provided by eMagiz and check out these links: 69 - 70 -* [[Intermediate Level (Menu)>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.WebHome||target="blank"]] 71 -** [[eMagiz Runtime Management (Navigation)>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.eMagiz Runtime Management.WebHome||target="blank"]] 72 -*** [[Start/Stop Flows (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.eMagiz Runtime Management.intermediate-emagiz-runtime-management-start-stop-flows.WebHome||target="blank"]] 73 -* [[Failover (Search Results)>>url:https://docs.emagiz.com/bin/view/Main/Search?sort=score&sortOrder=desc&highlight=true&facet=true&r=1&f_space_facet=0%2FMain.&l_space_facet=10&f_type=DOCUMENT&f_locale=en&f_locale=&f_locale=en&text=%22Failover%22||target="blank"]] 74 -))) 103 +There are no suggested additional readings for this microlearning.))) 75 75 ((( 76 76 {{toc/}} 77 77 )))