Round Robin
Sesje są przydzielane sekwencyjnie: członek 1, 2, 3, ..., N, 1, 2, ... Każdy członek
otrzymuje dokładnie 1/N wszystkich żądań. Ignoruje pojemność serwera i trwałość klienta.
Prosty i przewidywalny, ale nie działa poprawnie w przypadku heterogenicznego sprzętu.
Source IP Hash
Hash adresu IP klienta modulo liczby członków wybiera backend. Ten sam klient
zawsze trafia do tego samego członka — przydatne dla aplikacji stanowych. Dodanie lub usunięcie
członka wymaga przepisania wszystkich mapowań klientów (N zmienia się na (N-1)/N wszystkich sesji).
Weighted
Każdy członek otrzymuje udział proporcjonalny do jego wagi względem całkowitej wagi
puli. Członek z wagą=4 otrzymuje 4x sesji niż członek z wagą=1. Używane do modelowania
heterogenicznej pojemności backendu (np. maszyna wirtualna vs serwer bare metal).
Consistent Hashing
Członkowie i klienci są mapowani na okrągły pierścień za pomocą haszowania. Każdy klient przechodzi
do najbliższego członka zgodnie z ruchem wskazówek zegara na pierścieniu. Wirtualne węzły (repliki na członka)
poprawiają jednorodność rozkładu. Kiedy członek ulega awarii, tylko jego sesje przenoszą się do
następnego członka na pierścieniu — zakłócone 1/N sesji vs. 100% dla haszowania modulo.