2013-03-05 6 views
10

Qual è un modo efficiente per bilanciare il carico (o in un certo senso) degli utenti di un'app Django con il loro nome utente? Voglio segnalare alcuni utenti dell'app Django e farli andare su un altro server Web dopo aver effettuato l'accesso.Bilanciamento del carico (o proxy HTTP) dell'utente connesso di un'app Django?

+0

Si sta tentando di implementare la persistenza nel bilanciamento del carico? È così? – andrefsp

+0

@andrefsp Sì. In un modo più fondamentale, sto cercando di assegnare determinati utenti a determinati nodi di produzione. ad es .: gli utenti europei che accedono sempre al nostro nodo di produzione europeo tramite il loro nome utente. Vorrei che i server europei si trovassero nell'area e venissero "girati" (carichi di nuove migrazioni software/DB) durante le ore di chiusura europee. – MikeN

+0

Farei qualcosa come impostare un cookie sul browser dell'utente e utilizzare un proxy back (come nginx) per leggere il cookie e reindirizzare l'utente al server web corretto. Posso chiederti perché stai cercando di fare una cosa del genere? Cercando di attuare sessioni adesive può essere un grande incubo – andrefsp

risposta

1

Se si desidera avere utenti specifici su un server specifico: creare più sottodomini (www.example.com, www1.example.com, www2.example.com ecc.). Una volta che un utente ha effettuato l'accesso, controlla se l'utente si trova sul dominio/server corretto. In caso contrario, esegui un reindirizzamento al sottodominio degli utenti.

0

dopo il login si potrebbe configurare biscotto supplementare con nome utente (hash di esso, hash di e-mail, hash del user_id, etc.)

e utilizzando il bilanciamento del carico-si potrebbe ha-delega sulla base di biscotto. Ulteriori informazioni sono disponibili nella documentazione per ha-proxy (ma credo che nginx potrebbe farlo anche).

Problemi correlati