Sto ospitando Discourse su un’istanza EC2 e, secondo i dati storici della CDN, si prevede che la dimensione della community raggiungerà in media circa 20,03 milioni di richieste al mese. Vorrei suggerimenti sul numero e le dimensioni delle istanze necessarie, nonché sulla necessità di auto-scaling.
Hmm, è possibile eseguire Discourse su una macchina, utilizzando uno o due container Docker, ma non credo di aver visto nulla sulla distribuzione su più di un’istanza. La storia solita è quella di scalare verso istanze più grandi: più CPU, più RAM. E si possono usare storage locali o cloud per gli asset caricati.
Ma quel livello di traffico è solo una o due richieste al secondo, che non è molto.
La storia solita è quella di iniziare su un’istanza piccola e ridimensionarla secondo necessità, in base all’utilizzo della memoria e al carico della CPU. Se hai molti soldi, inizia su un’istanza più grande.
Mi scuso, ma sono 20 milioni di richieste al mese. Il sito web attuale utilizza il ridimensionamento automatico con 7 istanze t3a.medium e 1 istanza t3a.large, e stiamo migrando questo sito web alla piattaforma Discourse. Vorrei suggerimenti sul numero e le dimensioni delle istanze necessarie, nonché sulla necessità del ridimensionamento automatico.
È difficile indovinare di cosa avrai bisogno. Conosco un sito con 3,5 milioni di visualizzazioni di pagina mensili su una VM da 8 GB con 4 CPU. Potresti usarlo come linea guida. Serve immagini da solo, cosa che non puoi fare (facilmente?) con più istanze; presumibilmente avrai asset su S3 e CDN per il sito e il bucket S3.
Se una “richiesta” e una “visualizzazione di pagina” siano la stessa cosa è piuttosto improbabile.
Se hai bisogno di scalabilità dipende dai tuoi schemi di traffico. Se avevi bisogno di scalabilità prima, probabilmente ne avrai bisogno anche con Discourse. Se il tuo traffico è abbastanza costante e non hai bisogno di scalabilità, allora la soluzione più semplice è una singola VM grande, e probabilmente RDS e forse Elasticache. Dipende anche da quali strumenti e metodi preferisce usare il tuo team, dal tuo budget e così via.
Se una singola istanza EC2 di grandi dimensioni che ospita Discourse va in crash, l’intero sito andrà in crash. Si prega di fornire una soluzione. Abbiamo in programma di utilizzare RDS per il database e Elasticache.
Quindi usa ECS o qualsiasi altra soluzione che preferisci con un load balancer.