Estoy alojando Discourse en una instancia EC2 y, según datos históricos de la CDN, se prevé que el tamaño de la comunidad promedie alrededor de 20,03 millones de solicitudes al mes. Me gustaría recibir sugerencias sobre el número y tamaño de las instancias necesarias, así como si es necesario el escalado automático.
Hmm, es posible ejecutar Discourse en una máquina, usando uno o dos contenedores Docker, pero no creo haber visto nada sobre distribuirlo en más de una instancia. La historia habitual es escalar a instancias más grandes: más CPUs, más RAM. Y se puede usar almacenamiento local o almacenamiento en la nube para los activos subidos.
Pero ese nivel de tráfico es solo una o dos solicitudes por segundo, lo que creo que no es mucho.
La historia habitual es comenzar en una instancia pequeña y redimensionarla según sea necesario, según el uso de memoria y la carga de la CPU. Si tienes mucho dinero, comienza en una instancia más grande.
Disculpe, pero son 20 millones de solicitudes por mes. El sitio web actual utiliza escalado automático con 7 instancias t3a.medium y 1 instancia t3a.large, y estamos migrando este sitio web a la plataforma Discourse. Me gustaría recibir sugerencias sobre el número y tamaño de las instancias necesarias, así como si es necesario el escalado automático.
Es difícil adivinar lo que necesitarás. Conozco un sitio con 3.5 millones de visitas mensuales en una VM de 8 GB y 4 CPU. Podrías usar eso como guía. Está sirviendo imágenes por sí mismo, lo cual no puedes hacer (¿fácilmente?) con múltiples instancias; presumiblemente tendrás activos en S3 y CDNs para el sitio y el bucket de S3.
Es poco probable que una “solicitud” y una “visita a la página” sean lo mismo.
Si necesitas escalado depende de tus patrones de tráfico. Si necesitaste escalado antes, probablemente lo necesitarás con Discourse. Si tu tráfico es bastante constante y no necesitas escalado, entonces la solución fácil es una única VM grande, y probablemente RDS y quizás Elasticache. También depende de las herramientas y métodos que a tu equipo le guste usar, tu presupuesto, etc.
Si una única instancia grande de EC2 que aloja Discourse falla, todo el sitio se caerá. Por favor, proporcionen una solución para esto. Planeamos usar RDS para la base de datos y Elasticache.
Luego, usa ECS o cualquier otra solución que prefieras con un balanceador de carga.