Hans Karlsen (talk | contribs) No edit summary |
Hans Karlsen (talk | contribs) 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.
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