Sto cercando un buon bilanciamento del carico da utilizzare con Tomcat. La nostra applicazione non memorizza nulla nel contesto della sessione, quindi non è importante reindirizzare allo stesso server per lo stesso utente. Mi piacerebbe semplicemente qualcosa che possa accodare richieste round-robin style o basate sul carico inidividuale di ogni server. Mi piacerebbe anche essere in grado di aggiungere server di applicazioni a quelli disponibili per gestire le richieste senza dover riavviare il bilanciamento del carico. Stiamo eseguendo l'applicazione su Linux se questo è importante.Soluzioni di bilanciamento del carico Tomcat
risposta
Se tutto ciò che serve è un bilanciatore di carico software su uso Linux Apache WEBSERVER2, Mod-Jk e Tomcat Clustering:
Al vostro web server:
1) Installare apache2 e modjk:
sudo apt-get install apache2 libapache2-mod-jk
sudo a2enmod jk
2) Creare un file "workers.properties" disponibile per apache2. In alcuni casi viene automaticamente creato nella directory/etc/apache2. Questo file tiene le lb config, i nomi dei nodi, IPS e le porte dei server Tomcat, cioè .:
worker.list=balancer,lbstats
#node1
worker.node1.type=ajp13
worker.node1.host=NODE-IP
worker.node1.port=NODE-AJP-PORT
worker.node1.lbfactor=10
#more nodes here ... (change name in between)
#lb config
worker.balancer.type=lb
#turn off sticky session
worker.balancer.sticky_session=0
#add all defined node names to this list:
worker.balancer.balance_workers=node1
#lb status information (optional)
worker.lbstats.type=status
3) Creare una sezione Mod-Jk nel file di apache2 di configurazione, se non è stato creato automaticamente.
JkWorkersFile /etc/apache2/workers.properties
JkLogFile /var/log/apache2/mod_jk.log
JkShmFile /tmp/jk-runtime-status
JkLogLevel info
4) Montare l'applicazione per il bilanciamento del carico (file apache2 config):
JkMount /MyApp balancer
JkMount /MyApp/* balancer
JkMount /modjkstatus lbstats
AI server Tomcat:
5) Installare Tomcat utilizzando il pacchetto tarball (meglio allora la verison apt). Cambia server.xml:
- disabilitare i connettori http.
- abilitare il connettore AJP/1.3 e impostare la porta definita in workers.properties per questo nodo.
aggiungere jvmRoute con il nome del nodo destra all'elemento "Motore":
<Engine jvmRoute="node1" ...
aggiungere un elemento di "cluster" per semplice configurazione
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" />
6) distribuire l'applicazione a tutti i tomcats e aggiungi un elemento distribuibile al tuo web.xml.
<distributable/>
7) Assicurarsi che il server web in grado di accedere alle porte AJP sui server Tomcat e nessun altro può.
8) Avviare il server Web ei tomc uno dopo l'altro e controllare i registri (/var/log/apache2/mod_jk.log, anche).
9) Accesso vostra applicazione: http://mywebserver.com/MyApp
10) Controllare (e negare l'accesso alla) nella pagina di stato lb http://mywebserver.com/modjkstatus
- 1. Bilanciamento del carico MongoDB
- 2. SolrCloud bilanciamento del carico
- 3. Apache + Tomcat - Problemi con sessioni appiccicose e bilanciamento del carico
- 4. Apache + Tomcat con mod_jk: impostazione maxThread al bilanciamento del carico
- 5. Applicazione web per il bilanciamento del carico
- 6. SignalR e bilanciamento del carico
- 7. Bilanciamento del carico e APC
- 8. SSL e bilanciamento del carico
- 9. Scoperta del servizio vs bilanciamento del carico
- 10. registri da server con bilanciamento del carico
- 11. RabbitMQ bilanciamento del carico del client
- 12. Beanstalk elastico senza bilanciamento del carico elastico
- 13. Bilanciamento del carico elastico in EC2
- 14. AWS - SSL/https su bilanciamento del carico
- 15. Differenza tra cluster e bilanciamento del carico?
- 16. Configurare Nginx come bilanciamento del carico TCP
- 17. Soluzione cache ASP.NET per il sistema di bilanciamento del carico
- 18. Pagina di bilanciamento del carico e manutenzione di AWS
- 19. Nginx Bilanciamento del carico del traffico ad alto volume
- 20. Socket.IO Cluster con problemi di bilanciamento del carico nginx
- 21. web socket con scalabilità di bilanciamento del carico
- 22. Il bilanciamento del carico di Google HTTP applica HTTPS
- 23. sessioni PHP in un cluster di bilanciamento del carico - come?
- 24. HTTP Errore di bilanciamento del carico personalizzato Pagina
- 25. Bilanciamento del carico di più server Web Django
- 26. File di registro IIS e bilanciamento del carico?
- 27. Servizio di bilanciamento del carico con Zookeeper e Thrift
- 28. Progetto chat - bilanciamento carico con socket.io
- 29. È possibile abilitare Keep-alive con un bilanciamento del carico?
- 30. Cassandra bilanciamento del carico con un partizionatore ordinato?
Quanto è grande di un'applicazione stai parlando qui?Se sono solo due server a gestire il carico, è possibile farlo a livello di server Web. Se stai guardando più di 5 server potresti voler guardare a soluzioni commerciali. – Sean
Probabilmente 5+ server. –