Ho notato che è possibile avviare processi multipli all'interno di un'istanza uWSGI dietro nginx:processi server multipli utilizzando nginx e uWSGI
uwsgi --processes 4 --socket /tmp/uwsgi.sock
Oppure si può avviare più istanze uWSGI su diversi prese e bilanciamento del carico tra di loro utilizzando nginx:
upstream my_servers {
server unix:///tmp.uwsgi1.sock;
server unix:///tmp.uwsgi2.sock;
#...
}
Qual è la differenza tra queste 2 strategie ed è una preferita rispetto all'altra?
In che modo il bilanciamento del carico eseguito da nginx (nel primo caso) differisce dal bilanciamento del carico eseguito da uWSGI (nel secondo caso)?
nginx può front server su più host. Può uWSGI farlo in una singola istanza? Alcune funzionalità di uWSGI funzionano solo all'interno di un singolo processo uWSGI (ad esempio memoria condivisa/cache)? In tal caso potrebbe essere difficile scalare dal primo approccio al secondo ...
È possibile elaborare quali dati sono effettivamente condivisi sui processi di uWSGI? I processi non sono eseguiti in modo isolato? –
Anche io vorrei saperlo. – ruipacheco