2010-12-09 6 views
0

Dies ist möglicherweise nicht Programm Frage, aber ich denke, seine Programmlogik Frage. Ich habe eine kleine Shopping-Anwendung gemacht, aber es geht jetzt live, jetzt funktioniert die Anwendung gut.Backup für gutes laufendes System

Technologies verwendet für Anwendung: PHP, MySQL, JavaScript

für dieses Geschäft Stammkunde arraivals fast 1000 Kunden pro Stunde, ich habe etwa 10 bis 15 Zähler, meine Anwendung gleichzeitig ausgeführt werden, einen Server und 15 Clients Setup , das ist Umgebung und grundlegende Details über Geschäft und Anwendung, jetzt ist mein kleiner Zweifel, angenommen, wenn System plötzlich abgestürzt ist, Was ist der Schritt, den ich nehmen sollte?

Beispiel: Ich gehe mit Handabrechnung sonst sollte ich Benutzer Secondry-Datenbank. Wenn die Handabrechnung ein kleines bisschen bedeutet, ist zu viel Arbeitslast für den Bediener. Ich habe eine andere Datenbank, die gleiche Tabelle gibt es, angenommen, wenn etwas falsch gelaufen ist, soll ich mit Sekundärdatenbank gehen?

Ok das ist Szenario: Ich habe rund 1500 für 1501 abgerechnet mein System ist abgestürzt. Wenn ich mit einer anderen sekundären Datenbank gehe, dann beginnt die Abrechnung von 1 wissen, also ich denke, einige Verdoppelung Rechnung keine Problem wird auftreten?

Ich brauche Ihre Anregungen und Ideen,

Dank

Antwort

1

ich Sie erraten, könnte ein paar Cron-Jobs einrichten, um Backups alle paar Stunden zu automatisieren und wenn es nicht den MySQL-Server oder isn verbinden‘ Wenn Sie eine Seite laden können, wird sie auf eine Wartungsseite zurückgesetzt und sendet Ihnen eine E-Mail, damit Sie sie beheben können.

Ich bin nicht vertraut mit der Verwendung von Backup - Datenbanken, aber ich stelle mir vor, Sie könnten einen CRON - Job einrichten, um die Datenbank alle 10 Minuten oder so zu überprüfen und wenn der Server keine Verbindung herstellt Backup-Datenbank? Aber damit müssten Sie ziemlich viel testen, um sicherzustellen, dass alles ordnungsgemäß funktioniert.

+0

siehe allgemein ich benutze Aufruf der mysql_conn in mysql_query ($ resultset, MYSQLCONN) gibt es wie mysql_query ($ result_set, mysql_conn1, mysql_conn2) – Bharanikumar

+0

Warten Sie, um sich gleichzeitig mit 2 Datenbanken verbinden zu können? ist nur eine Backup-Datenbank, nur wenn die erste Datenbank stirbt, dann müssen Sie nicht mit beiden verbunden werden, es sei denn, es stirbt, oder? –

+0

Nein, es ist nur meine Idee, ist dies eine gute Möglichkeit – Bharanikumar

1

Sie können sich das Setup von Master/Slave ansehen. Siehe die MySQL-Dokumentation, aber im Wesentlichen schalten Sie die binäre Protokollierung ein, die eine Kopie der Transaktion auf dem Master ist (Transaktion im Sinne eines Schreibens auf die Festplatte, nicht 'ACID Transactions'), und diese werden dann an den Slave gesendet und zum Slave geschrieben Daher stellt der Slave in der Regel nur wenige Transaktionen hinter dem Master dar. Richten Sie dann einen automatischen oder manuellen Failover-Mechanismus ein, der den http-Server in die Slave-Datenbank schaltet. Dies setzt voraus, dass Sie die Hardware und eine gute Verbindung zwischen den Servern haben um dies zu erreichen, jedoch bietet es einen angemessenen Schutz vor Datenverlust und 'Uptime'

+0

Wie implementiert man dies, gibt es ein Tutorial für dieses Feature – Bharanikumar

+0

Sollte alles in der MySQL-Dokumentation auf mysql.com sein. Als wir es implementiert haben, haben wir es benutzt und es sorgfältig durchgelesen. Aber es ist ziemlich gut, die Docs. – PurplePilot