Diese Seite mit anderen teilen ...

Informationen zum Thema:
Forum:
WinDev Forum
Beiträge im Thema:
6
Erster Beitrag:
vor 5 Monaten, 3 Wochen
Letzter Beitrag:
vor 5 Monaten, 3 Wochen
Beteiligte Autoren:
Allard, Peter Holemans, Fabrice Harari, KenKnight

WEBDEV 21 / 22 multiple runtimes

Startbeitrag von Allard am 26.04.2017 13:54

Hi,

I know it is posible to do load balancing on hyperfile cs but is it possible to use more then one runtime. ( runbtime being the application server ) .

I Ask this because i Wnat to know if it is possible to really scale out webdev .

regards

Allard

Antworten:

Hi Allard

of course it's possible...

You can either
- use a hardware/load balancing solution where you have multiple server, each with webdev runtime hidden behind the load balancer.
- or do a poor man's load balancing by setting multiple IP addresses for your domain name and relying on the domain name resolution to hit all your servers equally

In both cases, you will need all your servers to hit the same DB (HF or other) if you are sharing the data between all the clients.

Of course, this is exactly the same than with any other web application/DB, as this is something that is happening BEFORE the webdev stage (and even before the web server stage)


Best regards

von Fabrice Harari - am 26.04.2017 14:34
Hi All,

Regarding the hardware version of load balancing, I've set this up in the past using a mikrotik router and a function they provide called PCC (I believe it stands for Per-Connection-Classifier). Essentially it takes some values from the inbound ip header and does a hash algorithm to come up with a 32-bit value and then divides that by a denominator you set and uses the remainder to determine how to mark the packets. You then decide on how to route the packets based on the mark applied.

Sounds a bit more complicated then it actually is once you get the hang of it. This insures that an IP that starts a webdev session gets locked to a specific server so that context is maintained.

The beauty of this solution is that instead of forking out BIG bucks for something like a barracuda or some other expensive piece of hardware for this, it can be done in a $100 router. This is because any router running the Mikrotik RouterOS has this capability.

cheers!
ken

von KenKnight - am 26.04.2017 14:48
Hi Allard,

As the ones have stated here above, the load balancing is done at the webserver or web server cluster level depending on the one you are using (Typically IIS or Apache).

Note however that there are some potential pitfalls on the type of load balancing algorithm and the underlying physical/virtual server infrastructure that you will be implementing.

For dynamic WB there is no other possibility than to work with "sticky sessions" on your load balancer (whatever balancing algorithm be it Round Robin, Random, ...).

This means that for WB every request from the same browser session will need to be directed to the same backend web/application server over and over again. This because each WB application server in the back is keeping the context within its own execution stack and not in a shared memory space of the cluster. If an incoming request would be diverted by the load balancer to another WB application server the application will fail or be in an invalid state (unless you write full RESTful awp pages but WB is not really designed for that and there's better out there).

For typical WB applications I think the load balancing with sticky sessions is a valid solution I guess. Only for extreme highly scalability requirements you'ld want a more dynamic load balancing scheme where the balancing and redirection is really done on the available resources on the nodes within the cluster.

In the worst case scenario with sticky sessions you could have all of the heavy load on only one node in your cluster, but that would be rather rare in general.

My 2 cents,

Peter Holemans

von Peter Holemans - am 26.04.2017 15:27
Hi ,

Thanks for the input. Happy to hear that is can be done. I guess one would have to have ones own servers for this ( dedicated servers ? ) since it is a hardware solution?

Or would it be possible to do this with a buch of vps systems as well?

regards

Allard

von Allard - am 26.04.2017 18:52
Hi Allard,

It all depends on your needs. Rereading Ken's post he did it at router level.

The ones I see most are at server/cluster/datacenter level.
You don't need any physical hardware whatsoever in that case. All can be virtualized. The cheapest solution in that case would be to use a little Apache (virtual) web server in load balancer mode (re)directing the requests in Round Robin algorithm with sticky sessions to a cluster or group of backend (virtual) web/application servers.

Cheers,

Peter Holemans

von Peter Holemans - am 26.04.2017 20:58
Zur Information:
MySnip.de hat keinen Einfluss auf die Inhalte der Beiträge. Bitte kontaktieren Sie den Administrator des Forums bei Problemen oder Löschforderungen über die Kontaktseite.
Falls die Kontaktaufnahme mit dem Administrator des Forums fehlschlägt, kontaktieren Sie uns bitte über die in unserem Impressum angegebenen Daten.