2013-08-24 15 views
5

Il mio scenario attuale è che ho un'applicazione Java EE costruita su Struts 2.0 e in esecuzione su server tomcat + mysql. L'app è attualmente ospitata su Virtual Private Server con 2 GB di RAM e 60 GB di disco. Tuttavia, l'utilizzo dell'applicazione aumenta di 10 o 20 volte durante le ore di punta, causando il blocco di Tomcat e del server MySQL.Come configurare l'applicazione Java (tomcat e mysql) su Amazon AWS con Auto Scaleup e Load balancers?

Ho iniziato a cercare alternative e ho trovato l'EC2 di Amazon come la migliore. Ho installato con successo l'istanza Micro di livello gratuito di RHEL AMI e installato Tomcat + MySQL sulla macchina. Ho anche letto su EBS, Load Balancer, Auto Scale, Cloud Watch e materiale correlato sul sito di Amazon.

Questo è il mio obiettivo principale, che io voglio raggiungere tramite AWS:

  • istituito due istanza EC2 su Amazon (primario e secondario)
  • L'istanza secondaria sarà inattivo durante la maggior parte del giorno
  • Durante le ore di punta, l'istanza secondaria dovrebbe svegliarsi automaticamente
  • Il Load Balancer inizierà quindi il routing del traffico su entrambi i server in base alla disponibilità
  • Dopo il traffico si riduce, il server secondario dovrebbe essere disattivato automaticamente

ho le seguenti domande stupide :)

  • Come farò dati MySQL essere condivisi tra sia l'istanza EC2 ? Posso installare MySQL su un volume EBS e montare questo volume su entrambe le istanze EC2, allo stesso tempo? Ciò risolverà il mio problema MySQL esistente di: Troppe connessioni, che ottengo molto sul mio attuale VPS durante le ore di punta?

  • Come condividere file e immagini caricati su entrambe le istanze EC2? Dovrò memorizzare questi file sul volume EBS esterno (al di fuori della mia Tomcat WebApps Directory)?

  • Posso mantenere la mia cartella di progetto completa nel volume EBS esterno e fare in modo che l'istanza di tomcat EC2 esegua una mappatura virtuale? Gentilmente fammi sapere i pro ei contro di esso.

Inoltre, alcuni buoni tutorial su Clustering Tomcat su EC2, gestione delle sessioni, il ridimensionamento automatico AWS e bilanciamento del carico sarà di grande aiuto.

risposta

3

Beh, non sono ancora molto esperto nella creazione di strutture AWS, ma cercherò di aiutare.

1) Non è possibile condividere i volumi EBS attraverso le istanze EC2, sarà necessario utilizzare un servizio Web o RDS per questo scenario ... Forse sarà più facile pagare un po 'di più per un'istanza migliore mentre si lavora su le modifiche, inoltre, Load Balancer aggiunge un po 'più di spese sul tuo sistema, usa il calcolatore di aws per verificare se vale la pena.

2) Per i file ti consiglio di usare S3, api è davvero semplice, senza trucchi, buona velocità e molto più economico rispetto alla memorizzazione di immagini su EBS, basta salvare il link sul database e sei bravo, accedi da qualsiasi luogo .

3) Come accennato nella prima risposta, non è possibile condividere il volume EBS, quindi sono necessarie due istanze di uguale.

Inoltre, dai un'occhiata a questa opzione: http://aws.amazon.com/pt/elasticbeanstalk/ È davvero un modo semplice per iniziare qualsiasi cosa a aws.

Problemi correlati