Tomcat – Spring Framework – MySQL, disegno di bilanciamento del carico

Diciamo che ho App Spring Framework che è in esecuzione su Tomcat e utilizza database MySQL:

immettere qui la descrizione dell'immagine

  • Dove Tomcat cache i miei file taglib .jar?
  • È ansible utilizzare Multi Master Single Slave in mySQL DB?
  • MySQL: come triggersre il registro di query lento?
  • Come avviare Apache Tomcat all'avvio su Mac OS X?
  • Per comprendere i messaggi di errore di MySQL in OS X
  • Come copiare e spostare database MySQL
  • Quale sarebbe la soluzione migliore in questo caso che consentirebbe la socialità (prezzo / performance / tempo di integrazione)?

    Più precisamente: Che cosa sarebbe sulla casella di bilanciamento del carico web e chi dovrebbe essere il cluster di tomcat web server? Cosa sarebbe nella casella di bilanciamento del carico di database e come dovrebbero essere raggruppati i server di database? E se a tutti i possibili collegamenti tecnici di integrazione tecnica sarebbe di grande aiuto.

    3 Solutions collect form web for “Tomcat – Spring Framework – MySQL, disegno di bilanciamento del carico”

    1. Per il bilanciamento del carico web, ci sono molteplici soluzioni, open source e pagate, ho personalmente utilizzato i bilancieri di carico cisco (CSM e ACE) e F5 e come loro (ma queste soluzioni possono diventare costose). Ci sono molteplici per opensource, uno che viene in mente è http://www.linuxvirtualserver.org/

    2. Per il bilanciamento del carico di mysql, è ansible guardare il master per masterizzare la replica per msyql. Guarda: http://www.howtoforge.com/mysql_master_master_replication . Quello che ho fatto in passato per un progetto, ho avuto 3 server web serverfarm dietro grande IP (F5) e tutti parlato con un server mysql. E avevo esattamente la stessa configuration in un sito diverso, e entrambi i server mysql avevano master per padroneggiare la replica. Quindi gli utenti utilizzerebbero tutti i server web e server db e se uno dei server DB è andato giù, la farm web in quel sito sarebbe scesa e gli utenti utilizzerebbero solo l'altro sito. (Failover e monitoraggio DNS per il monitoraggio e il failover multipli del sito). È ansible utilizzare il bilanciatore di carico globale se hai il budget per get più granulare.

    Plain MySQL non ha un'opzione di bilanciamento del carico, ma MySQL Cluster fa.

    Consiglierei di utilizzare MySQL Cluster per le tue istanze MySQL multiple.

    Quindi è ansible utilizzare MySQL Connector / J con URL di JDBC in modo trasparente per il bilanciamento del carico. Vedi http://dev.mysql.com/doc/ndbapi/en/mccj-using-connectorj.html

    PS: Ho votato per spostare questa domanda a ServerFault.com.

    Non consiglio di utilizzare MySQL Cluster. Non l'ho mai visto fare bene e non abbattere molto. Havent usato per un po '(perchè non funzionava realmente un anno o così fa).

    Basta usare un master con gli schiavi. Fai tutte le operazioni di lettura sugli slave (a less che non sia necessario leggere le proprie scritture o dati correnti al ms). Se questa scala non è abbastanza per te (devi scrivere molte). È giunto il momento di esaminare lo sharding.

    Un'altra opzione, se la tua applicazione lo permette (o può essere trasformata in permesso

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.