Ich hoste Discourse auf einer EC2-Instanz und laut historischen Daten des CDN wird die Community-Größe voraussichtlich durchschnittlich etwa 20,03 Millionen Anfragen pro Monat haben. Ich hätte gerne Vorschläge zur Anzahl und Größe der benötigten Instanzen sowie zur Notwendigkeit von Auto-Scaling.
Es ist möglich, Discourse auf einer Maschine mit einem oder zwei Docker-Containern laufen zu lassen, aber ich glaube nicht, dass ich etwas darüber gesehen habe, es auf mehr als eine Instanz zu verteilen. Die übliche Vorgehensweise ist, auf größere Instanzen zu skalieren: mehr CPUs, mehr RAM. Und man kann lokalen oder Cloud-Speicher für hochgeladene Assets verwenden.
Aber dieses Verkehrsaufkommen sind nur ein oder zwei Anfragen pro Sekunde, was meiner Meinung nach nicht viel ist.
Die übliche Vorgehensweise ist, auf einer kleinen Instanz zu beginnen und diese nach Bedarf entsprechend der Speichernutzung und CPU-Auslastung zu vergrößern. Wenn Sie viel Geld haben, beginnen Sie auf einer größeren Instanz.
Entschuldigen Sie, aber es sind 20 Millionen Anfragen pro Monat. Die aktuelle Website nutzt Autoskalierung mit 7 t3a.medium-Instanzen und 1 t3a.large-Instanz, und wir migrieren diese Website auf die Discourse-Plattform. Ich hätte gerne Vorschläge zur Anzahl und Größe der benötigten Instanzen sowie zur Notwendigkeit der Autoskalierung.
Es ist schwer zu erraten, was Sie genau brauchen werden. Ich kenne eine Website mit 3,5 Millionen Seitenaufrufen pro Monat auf einer 8 GB 4 CPU VM. Das könnten Sie als Richtlinie verwenden. Sie liefert Bilder selbst aus, was Sie (einfach?) nicht mit mehreren Instanzen tun können; Sie werden vermutlich Assets auf S3 und CDNs für die Website und den S3-Bucket haben.
Ob eine „Anfrage“ und ein „Seitenaufruf“ dasselbe sind, ist eher unwahrscheinlich.
Ob Sie Skalierung benötigen, hängt von Ihren Verkehrsmustern ab. Wenn Sie vorher Skalierung benötigt haben, werden Sie sie wahrscheinlich auch mit Discourse benötigen. Wenn Ihr Verkehr ziemlich konstant ist und Sie keine Skalierung benötigen, dann ist die einfache Lösung eine einzelne große VM und wahrscheinlich RDS und vielleicht Elasticache. Es hängt auch davon ab, welche Werkzeuge und Methoden Ihr Team gerne verwendet, Ihr Budget und so weiter.
Wenn eine einzelne große EC2-Instanz, die Discourse hostet, ausfällt, wird die gesamte Website ausfallen. Bitte stellen Sie eine Lösung dafür bereit. Wir planen die Verwendung von RDS für die Datenbank und Elasticache.
Verwenden Sie dann ECS oder Ihre bevorzugte andere Lösung mit einem Load Balancer.