Come ZZ Coder ha già menzionato il bilanciamento del carico è una buona soluzione soprattutto per le grandi implementazioni. Per il mio progetto, utilizzo la funzionalità reverse proxy HTTP del server Web nginx. Reindirizza tutti i pacchetti http da un determinato contesto web (visto da Internet) a un server all'interno della mia rete.La configurazione è molto semplice:
location /best-app-ever/ { proxy_pass host-address:8080/some-app-1.1 root /home/www/some-app-1.1 }
versione di commutazione dovrebbe essere regolare pure. Supponendo che è già stato distribuito nuova versione dell'applicazione è sufficiente modificare il file di configurazione nginx e applicare le modifiche:
location /best-app-ever/ { proxy_pass host-address:8080/some-app-1.2 root /home/www/some-app-1.2 }
sudo nginx -t
sudo service nginx restart
essere avvertito che nel caso in cui l'applicazione web è stateful e/o contiene alcuni processi in esecuzione o pianificati, la distribuzione e l'annullamento della distribuzione potrebbero non essere altrettanto fluidi.
perché interrompere il server, aggiornare il file, riavviare il server e non solo annullare la distribuzione/distribuzione? Abbiamo diverse app web .war sui nostri server di produzione e tipicamente non distribuiamo/ridistribuiamo: non c'è bisogno di prendere l'intero server con tutte le webapp verso il basso !? – NoozNooz42
@nooz: beh, eseguo solo 1 app sul server. Non sono stato in grado di trovare tutorial/guide su come eseguire nuovamente la distribuzione con Jetty, tutto quello che trovo è come farlo per uno sviluppo rapido – stephanos
oh, vedo ... Non so di Jetty (forse altri commenteranno) . Ma con Tomcat ci sono diversi modi per annullare la distribuzione/ridistribuzione di un singolo .war (ero solito farlo da un'attività Ant ma ora sto usando l'app manager). Ciò consente di risparmiare il tempo necessario per arrestare/riavviare Tomcat. – NoozNooz42