Django und Mysql db cluster
Verfasst: Mittwoch 30. März 2022, 14:17
Hi,
ich habe eine Django-App und mal angenommen ich möchte meine entsprechende Mysql DB in ein Cluster packen, sodass mehr Anfragen gehandelt werden können. Wie macht man das am Besten?
while halbwissen == True:
Ich würde mir jetzt eine Clustersoftware aussuchen. Sowas wie Percona oder Galera oder was es noch so gibt. Dann würde ich bspw. 3 Instanzen meiner DB hochfahren und diese im Cluster als Node definieren.
Jetzt muss Django das aber auch verstehen. Ich habe gesehen, dass es Module für Django gibt (wie django-galera) die man dann in der settings.py in den DATABASES{} konfiguriert. Das war es dann schon?
Was passiert, wenn ein Knoten ausfällt? Woher weiß die Applikation dann, dass dieser Node nicht mehr beschrieben/gelesen werden kann?
Was ich dabei jetzt nicht ganz verstehe ist, wie der ORM, bzw Migrationen dann funktionieren. Wird dann eine Migration auf einer DB ausgeführt und die Clustersoftware gleicht dann die anderen nodes an, oder wie funktioniert das?
Außerdem habe ich gelesen, dass oft zwischen Cluster und App noch ein DB-Proxy gestellt wird. Sowas wie ein HAProxy. Warum macht man das?
Und damit verstehe ich dann die Funktionsweise vom ORM noch weniger.
LG
ich habe eine Django-App und mal angenommen ich möchte meine entsprechende Mysql DB in ein Cluster packen, sodass mehr Anfragen gehandelt werden können. Wie macht man das am Besten?
while halbwissen == True:
Ich würde mir jetzt eine Clustersoftware aussuchen. Sowas wie Percona oder Galera oder was es noch so gibt. Dann würde ich bspw. 3 Instanzen meiner DB hochfahren und diese im Cluster als Node definieren.
Jetzt muss Django das aber auch verstehen. Ich habe gesehen, dass es Module für Django gibt (wie django-galera) die man dann in der settings.py in den DATABASES{} konfiguriert. Das war es dann schon?
Was passiert, wenn ein Knoten ausfällt? Woher weiß die Applikation dann, dass dieser Node nicht mehr beschrieben/gelesen werden kann?
Was ich dabei jetzt nicht ganz verstehe ist, wie der ORM, bzw Migrationen dann funktionieren. Wird dann eine Migration auf einer DB ausgeführt und die Clustersoftware gleicht dann die anderen nodes an, oder wie funktioniert das?
Außerdem habe ich gelesen, dass oft zwischen Cluster und App noch ein DB-Proxy gestellt wird. Sowas wie ein HAProxy. Warum macht man das?
Und damit verstehe ich dann die Funktionsweise vom ORM noch weniger.
LG