Additional considerations with load balancing Turnkey and MDrivenServer
No edit summary
No edit summary
Line 23: Line 23:
4: The last known result from the Load balance check will be written to LoadBalancerStatus
4: The last known result from the Load balance check will be written to LoadBalancerStatus


5: If you check the "Hide server from loadbalancer" we append the string "THIS NODE HAS REQUESTED TO BE LEFT ALONE" to the return name from /home/ReturnNodeNameIfOk - then the names will not match and we will not run periodicactions
5: If you <s>check the "Hide server from loadbalancer"</s> we append the string "THIS NODE HAS REQUESTED TO BE LEFT ALONE" to the return name from /home/ReturnNodeNameIfOk - then the names will not match and we will not run periodicactions
 
We changed the logic to a HideFromLoadBalancerUntil - being a datetime in the future - if in the future we now return a 500 error that load balancers will interpret as error. We will return this error until the timestamp has been passed - then the node becomes online again. This change will enable you to reach servers that may not be reachable from any other address that the load balanced
[[File:2022-10-25 15h35 46.png|none|thumb|548x548px]]
[[File:2022-10-25 15h36 53.png|none|thumb|542x542px]]

Revision as of 13:38, 25 October 2022

Load balancing the Turnkey server

Use sticky-session to make sure user returns to same node during the session.

If you need to signal the LoadBalancer we suggest that you model a page and make it RestAllow=true - give the url to your load balancer and return the data you have agreed upon. For example you may want to return Active , or InActive in order to implement some application setting to move traffic away from a node you will work on.

In some examples we have a page named AreYouOkCheck and then LoadBalancer can check if 200Ok is returned from the url https://APP/App#/AreYouOkCheck/$null$

Load balancing the MDrivenServer

Use Fail-over in load balancer. Only 1 MDrivenServer should be used at a time - but you can have hot-standbys.

Since the load balancer must know which of multiple MDrivenServers that is candidate for being the hot one - and also remember which one is hot you can give the load balancer the url http://<yourserver>/home/ReturnNodeNameIfOk

You then set unique names of the nodes in the UserAndRolesAdmin page in MDrivenServer

It is important that the Hot-standbys do not execute ServerSide-jobs - since these should only be on One server.

2022-10-11 14h01 51.png

1: Server name - make sure it is set - you want it unique per node in the load balance group

2: If the "Check Load balancer before running jobs" is not checked everything works as normal and periodic actions will always run (if the app is Started)

3: If you set an url in Load Balanced MDrivenServerUrl we will - prior to running PeriodicActions - check that what we get back from <LoadBalancedAdress>/home/ReturnNodeNameIfOk - and if the returned value==TheNameOfThisServer we will know that we are the hot-one, if not we are not the hot one

4: The last known result from the Load balance check will be written to LoadBalancerStatus

5: If you check the "Hide server from loadbalancer" we append the string "THIS NODE HAS REQUESTED TO BE LEFT ALONE" to the return name from /home/ReturnNodeNameIfOk - then the names will not match and we will not run periodicactions

We changed the logic to a HideFromLoadBalancerUntil - being a datetime in the future - if in the future we now return a 500 error that load balancers will interpret as error. We will return this error until the timestamp has been passed - then the node becomes online again. This change will enable you to reach servers that may not be reachable from any other address that the load balanced

2022-10-25 15h35 46.png
2022-10-25 15h36 53.png
This page was edited 112 days ago on 01/11/2024. What links here