Wann e puer Aarbechter e Pool iwwer Redis deelen, kann en sortéierte Set eng einfach Politik ëmsetzen: dee zoulässege Proxy mat de mannsten erfaassten Zoudeelungen auswielen. Späichert eng Proxy-Identifikatioun als Member an hir Zoudeelungszuel als Score.

Fir e Pool, deen erlaabten ëffentlechen Ufroe servéiert, kann d'Lëscht vun de gratis Proxyen Endpunkt-Kandidaten ubidden, déi no de Zoulässegkeetsregelen vun deem Pool bewäert ginn. Initialiséiert zoulässeg Membere mat enger ofgeschwattener Ufankszuel. Maacht duerno d'Auswiel an d'Erhéijung eng eenzeg Server-side Operatioun:

local chosen = redis.call('ZRANGE', KEYS[1], 0, 0)[1]
if not chosen then
    return nil
end

redis.call('ZINCRBY', KEYS[1], 1, chosen)
return chosen

Gitt de Schlëssel vum sortéierte Set als eenzegt Schlësselargument vum Skript iwwer d'EVAL-Interface vun Ärem Redis-Client weider. En eidele Pool gëtt en null-Resultat, dat d'Applikatioun muss behandelen, ouni eng Ufro ze maachen.

Firwat déi zwou Kommandoen kombinéieren?

Getrennt Liesungen an Erhéijungen erlaben zwee Aarbechter deeselwechte Minimum ze gesinn, ier een et aktualiséiert. Redis féiert e Lua-Skript atomar aus, dofir kann en aneren Aarbechter keng Auswiel tëschent dem Liese an der Erhéijung vun dësem Skript aschreiwen. Halt d'Skript kuerz, well seng Ausféierung aner Redis-Aarbecht blockéiert.

ZRANGE gëtt de niddregste Score fir d'éischt zréck; gläiche Score gëtt duerch d'Member-Reiefolleg entscheet, net zoufälleg. ZINCRBY erhéicht de Score vum gewielte Member ëm een fir déi nächst Zoudeelung.

Definéiert wat de Score bedeit

Dëst zielt Zoudeelungen, och eng Zoudeelung, där hir Netzwierkufro spéider feelt. Et misst keng Latenz, erfollegräich Ufroen oder Aarbecht déi just leeft. Et ass nach ëmmer méiglech, deen eenzegen zoulässege Member ëmmer erëm auszewielen; d'Skript reservéiert en net exklusiv.

Halt d'Zoulässegkeet mat de Gesondheets- a Politikregelen vum Pool oprecht. Wann Dir e Member ewechhuelt an duerno restauréiert, entscheet, ob seng historesch Zuel behale soll ginn. En restauréierte Proxy op null ze starten, kann d'Zoudeelungen op hien konzentréieren, wärend hien opkënnt.

Eng Politik vun der mannster Gläichzäitegkeet brauch en aneren Liewenszyklus, dorënner Ofschloss an d'Behandlung vu verloossenen Aufgaben. Interpretéiert dëse kumulative Compteur net als deen Liewenszyklus.

Ähnlech Artikelen