Changes for page Failover - Deploy Possibilities
Last modified by Erik Bakker on 2024/09/27 14:07
From version 28.96
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 16.1
edited by Erik Bakker
on 2024/03/01 11:59
on 2024/03/01 11:59
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,76 +1,74 @@ 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-flow-configuration.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 andallows 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 not only assists in that case but also 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 are changing. 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]] 40 -== 3.3 Deploy Release == 42 +[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-other-group.png]] 41 41 42 - Onceyou have configured your Deployment Plan, then it is time to create a new release for your updated flows in the Deploy>Release page.As you might have noticed in the Deploy>Architecture earlier when opening the "Failover"tab in your machines' "Details", there are properties regarding the machines' "Internal IP address" and "Failover port". It is then becomes natural that you first need to fill in these property values in the environment that you are working on at the moment (i.e., Testing, Acceptance, Production).44 +== 3.2 Failover == 43 43 44 - Todo this,youcan click the "wrench" icon on the right hand side besidethe"Createphase" release and thenpress "New". In the pop-uppresentedto you, you canclickthe"Name" inputfield andthen search forthepropertyplaceholdernamesthatyousawearlier. The ideahere isthat youfill in the IPaddress and the(open) portof the external machines.Thus, basedon theexample above, youcansearch for the keyword "external01.failover.internal-ip" and then select it. Afterward, you can setthis propertyasglobal for simplicity andfill in thecorrect value. The screenshot below showsan example of theendresult.Onceyouhave doneso, thenyoucan dothe samefor the otherproperty (i.e.,"external01.failover.port")andas wellastheproperties forthesecondmachine.46 +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. 45 45 46 -[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover- setting-up-failover-deploy-phase-failover-properties.png]]48 +[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-failover-example-group.png]] 47 47 48 - When youaredone, then you cansave your changes, and proceed withcreatinga new release.Forthis, youwillneedtocreatea newreleasefrom your "Createphase",inorder toincludeallconfigurations that eMagiz has provided in your nowfailover-enabled Create phase. Once you have donethis, givetherelease a name and save it, then youcanproceed with activatingthe release and deploy it.50 +[[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-flow-configuration-failover-other-group.png]] 49 49 50 - ==3.3TriggerFailover==52 +{{info}}Note that each group within a single runtime that you want to treat differently needs to have a **unique** name.{{/info}} 51 51 52 - Onceyou have successfully deployed and run your release with the failover connector runtimes, then you can observe the follower and leadership status of your failover connector runtimes in your Deploy>Architecture.There, if you right-click your external machines (which have the failoverconnector runtimes) and select [["Start/Stop flows">>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.eMagiz Runtime Management.intermediate-emagiz-runtime-management-start-stop-flows.WebHome||target="blank"]],under the "Groups" tab, you will find the "Group name", "Failover status", as well as the "State" the connector runtime is in at that moment (whether it is now On or Off). See the screenshot below as an example.54 +== 3.3 Failover Infra == 53 53 54 - [[image:Main.Images.Microlearning.WebHome@grouping-and-failover--intermediate-grouping-and-failover-setting-up-failover-deploy-phase-start-stop.png]]56 +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. 55 55 56 -The example aboveshows that,inthatmoment,thefirstruntimeinstance iscurrentlyactive andacting astheLeader,while the second runtime instance thatacts as theFollower isOff.Youcanalsomanuallyswitch theleadership from one to anotherby clickingthe PlayorStop buttonon theright-side.58 +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. 57 57 60 +Given this let us first look at the infinispan cache manager 61 +[[image:Main.Images.Microlearning.WebHome@emagiz-runtime-management--intermediate-runtime-management-deploy-agent-command.png]] 62 + 63 +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>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.eMagiz Runtime Management.intermediate-emagiz-runtime-management-interpret-on-premise-logging.WebHome||target="blank"]] to inspect the on-premises runtime logs. 64 + 58 58 == 4. Key takeaways == 59 59 60 -* By enabling multiple runtimes across different machines, you can configure groups to operate in active/passive failover mode, ensuring continued operation during connection failures, system maintenances, or outages. 61 -* In the Deploy>Architecture section, users can configure the router containers and set preferred machines for failover runtime leadership. This ensures that systems are prepared to handle failover scenarios. 62 -* If users assigned the failover IP addresses and Ports properties as global properties, users must configure a "Balance failover" deployment step to trigger the failover container(s) to be running on its preferred machine as you previously configured them in Deploy>Architecture. 63 -* After deployment, users can monitor the failover status, including leadership roles, in Deploy>Architecture, and can manually switch between active (Leader) and backup (Follower) runtimes if needed. 67 +* The eMagiz Docker agent needs to be installed to allow runtime to be installed on the on-premises server 64 64 65 65 == 5. Suggested Additional Readings == 66 66 67 -If you are interested in this topic and want more information, please read the help text provided by eMagiz and check out these links: 68 - 69 -* [[Intermediate Level (Menu)>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.WebHome||target="blank"]] 70 -** [[eMagiz Runtime Management (Navigation)>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.eMagiz Runtime Management.WebHome||target="blank"]] 71 -*** [[Start/Stop Flows (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.eMagiz Runtime Management.intermediate-emagiz-runtime-management-start-stop-flows.WebHome||target="blank"]] 72 -* [[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"]] 73 -))) 71 +There are no suggested additional readings for this microlearning.))) 74 74 ((( 75 75 {{toc/}} 76 76 )))